.data:00419C02 lea esi, [ebp+12345678h]
.data:00419C08 lea ecx, [ebp+800h]
.data:00419C0E mov ebx, eax
.data:00419C10
.data:00419C10 loc_419C10:
.data:00419C10
cmp
dword ptr [esi], 0
.data:00419C13 jz loc_419E27
.data:00419C19 push ecx
.data:00419C1A push ecx
.data:00419C1B call dword ptr [ebp+7A4h]
.data:00419C21
test
eax, eax
.data:00419C23 jnz short loc_419C36
.data:00419C25 sub esp, 4
.data:00419C28 call dword ptr [ebp+790h]
.data:00419C2E
test
eax, eax
.data:00419C30 jz loc_419D15
.data:00419C36
.data:00419C36 loc_419C36:
.data:00419C36 mov edi, eax
.data:00419C38 add eax, [eax+3Ch]
.data:00419C3B mov eax, [eax+78h]
.data:00419C3E push dword ptr [eax+edi+18h]
.data:00419C42 mov ecx, [eax+edi+24h]
.data:00419C46 add ecx, edi
.data:00419C48 push ecx
.data:00419C49 mov ecx, [eax+edi+20h]
.data:00419C4D add ecx, edi
.data:00419C4F push ecx
.data:00419C50 push dword ptr [eax+edi+10h]
.data:00419C54 push dword ptr [eax+edi+14h]
.data:00419C58 mov eax, [eax+edi+1Ch]
.data:00419C5C add eax, edi
.data:00419C5E push eax
.data:00419C5F push esi
.data:00419C60 mov esi, [esi]
.data:00419C62 add esi, ebp
.data:00419C64
.data:00419C64 loc_419C64:
.data:00419C64
.data:00419C64 mov eax, [esi]
.data:00419C66
test
eax, eax
.data:00419C68 jz loc_419CEF
.data:00419C6E jns short loc_419C9F
.data:00419C70 bt eax, 30
.data:00419C74 jb short loc_419C9F
.data:00419C76 movzx eax, ax
.data:00419C79 sub eax, [esp+0Ch]
.data:00419C7D jb loc_419D2E
.data:00419C83
cmp
eax, [esp+8]
.data:00419C87 jnb loc_419D2E
.data:00419C8D shl eax, 2
.data:00419C90 add eax, [esp+4]
.data:00419C94 mov eax, [eax]
.data:00419C96 add eax, edi
.data:00419C98 mov [esi], eax
.data:00419C9A add esi, 4
.data:00419C9D jmp short loc_419C64
.data:00419C9F
.data:00419C9F loc_419C9F:
.data:00419C9F
.data:00419C9F add eax, esi
.data:00419CA1 push eax
.data:00419CA2 push eax
.data:00419CA3 push edi
.data:00419CA4 call dword ptr [ebp+794h]
.data:00419CAA
test
eax, eax
.data:00419CAC jz short loc_419D2D
.data:00419CAE
.data:00419CAE loc_419CAE:
.data:00419CAE dec dword ptr [esp+28h]
.data:00419CB2 jge short loc_419CD3
.data:00419CB4 mov edx, [esp+24h]
.data:00419CB8 mov byte ptr [edx], 0E9h
.data:00419CBB sub eax, edx
.data:00419CBD sub eax, 5
.data:00419CC0 mov [edx+1], eax
.data:00419CC3 mov eax, edx
.data:00419CC5 add edx, 5
.data:00419CC8 mov [esp+24h], edx
.data:00419CCC and edx, 7
.data:00419CCF mov [esp+28h], edx
.data:00419CD3
.data:00419CD3 loc_419CD3:
.data:00419CD3 mov [esi], eax
.data:00419CD5 xchg edi, [esp]
.data:00419CD8 or ecx, 0FFFFFFFFh
.data:00419CDB xor eax, eax
.data:00419CDD repne scasb
.data:00419CDF std
.data:00419CE0 not ecx
.data:00419CE2 dec edi
.data:00419CE3 rep stosb
.data:00419CE5 pop edi
.data:00419CE6 cld
.data:00419CE7 add esi, 4
.data:00419CEA jmp loc_419C64
.data:00419CEF
.data:00419CEF loc_419CEF:
.data:00419CEF pop esi
.data:00419CF0 add esp, 18h
.data:00419CF3 mov edx, [esi]
.data:00419CF5 add edx, ebp
.data:00419CF7 lea eax, [ebx+47h]
.data:00419CFA mov ecx, [esp+4]
.data:00419CFE
.data:00419CFE loc_419CFE:
.data:00419CFE
cmp
dword ptr [edx], 0
.data:00419D01 jz short loc_419D15
.data:00419D03
cmp
ebx, [edx]
.data:00419D05 sbb dword ptr [eax], 0
.data:00419D08
cmp
[edx], ecx
.data:00419D0A sbb dword ptr [eax], 0
.data:00419D0D add edx, 4
.data:00419D10 ror dword ptr [eax], 3
.data:00419D13 jmp short loc_419CFE
.data:00419D15
.data:00419D15 loc_419D15:
.data:00419D15
.data:00419D15 mov dword ptr [esi], 0
.data:00419D1B pop edi
.data:00419D1C or ecx, 0FFFFFFFFh
.data:00419D1F xor eax, eax
.data:00419D21 repne scasb
.data:00419D23 mov ecx, edi
.data:00419D25 add esi, 4
.data:00419D28 jmp loc_419C10