Function at 0x419c10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x50
push ebx
push esi
mov ebx, ecx
xor esi, esi
cmp word [ebx + 0xc], si
je 0x419e4d
mov eax, dword [ebx + 0x20]
push ebp
push edi
push eax
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], esi
call fcn.0041c290
mov ecx, dword [ebx + 4]
add esp, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
push 1
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], 0x282
mov dword [esp + 0x5c], esi
call fcn.004555b0
mov ecx, dword [ebx]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.0043e610
mov edx, dword [ebx]
lea ecx, [esp + 0x14]
push edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x18], 6
mov dword [esp + 0x1c], esi
call fcn.004545a0
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov dword [edi + 0x88], 0x18
mov dword [edi + 0x78], ebx
call fcn.00452550
mov eax, dword [ebx + 0x10]
xor edx, edx
xor ecx, ecx
cmp eax, esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x10], edx
je 0x419ce8
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
add ecx, edi
inc edx
cmp eax, esi
jne 0x419cd7
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0x1c]
lea eax, [ecx + eax + 6]
mov ecx, 0x4da3e8
push eax
mov dword [esp + 0x48], eax
call fcn.0041e760
xor ecx, ecx
mov ebp, eax
mov cl, byte [ebx + 0xf]
mov dword [esp + 0x40], eax
mov byte [eax], cl
mov dl, byte [ebx + 0xe]
mov eax, dword [esp + 0x10]
inc ebp
mov ecx, eax
mov byte [ebp], dl
inc ebp
shr ecx, 8
mov byte [ebp], cl
inc ebp
mov byte [ebp], al
mov edi, dword [ebx + 0x10]
inc ebp
cmp edi, esi
mov dword [esp + 0x10], edi
je 0x419d74
jmp 0x419d35
mov edi, dword [esp + 0x10]
mov edx, dword [edi]
push edx
push ebp
call fcn.00419fa0
mov ecx, dword [edi + 8]
mov esi, dword [edi + 4]
and eax, 0xffff
add esp, 8
add ebp, eax
mov eax, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x10]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0x10]
add ebp, edx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x419d31
xor esi, esi
xor ecx, ecx
inc ebp
mov cl, byte [ebx + 0xd]
mov byte [ebp - 1], cl
mov dl, byte [ebx + 0xc]
mov byte [ebp], dl
mov eax, dword [ebx + 0x14]
inc ebp
cmp eax, esi
mov dword [esp + 0x10], eax
je 0x419dd3
jmp 0x419d95
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 8]
mov esi, dword [eax + 4]
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0x10]
add ebp, edx
test eax, eax
je 0x419dcb
mov ecx, eax
call fcn.0041b0e0
mov eax, dword [esp + 0x10]
push eax
call fcn.0041ec10
add esp, 4
test esi, esi
mov dword [esp + 0x10], esi
jne 0x419d91
mov ebp, dword [ebx + 0x34]
mov ecx, dword [ebx + 4]
inc ebp
push 1
mov word [ebx + 0xc], si
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x34], ebp
call fcn.004555b0
mov ecx, eax
mov dword [esp + 0x5c], eax
call fcn.0043d8e0
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebx]
call fcn.0045de50
pop edi
pop ebp
test eax, eax
jne 0x419e14
mov ecx, dword [esp + 0x48]
call fcn.00452560
lea ecx, [esp + 0xc]
call fcn.00454270
mov ecx, dword [esp + 0x10]
cmp ecx, esi
je 0x419e44
mov eax, dword [ecx]
mov edx, eax
and edx, 0xfffffffe
not eax
dec edx
and eax, 1
xor edx, eax
mov dword [ecx], edx
mov eax, dword [ecx]
test eax, 0xfffffffe
jg 0x419e44
call fcn.00455c10
lea ecx, [esp + 0x1c]
call fcn.0043e740
pop esi
pop ebx
add esp, 0x50
ret