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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x230
mov eax, dword [ebp + 8]
mov dword [esp + 0x70], 0x16
mov dword [esp + 0x204], 1
mov ecx, 1
mov dword [esp + 0x48], 0x1000
mov edx, 0x1000
mov dword [esp + 0x4c], 0
xor esi, esi
mov dword [esp + 0x218], 0
mov dword [esp + 0x200], 5
mov edi, 5
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1d8], 0x882dd69c
mov dword [esp + 0x1fc], 0x2687
mov dword [esp + 0x54], 0xfe
mov dword [esp + 0x5c], 0
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x6c], 0
mov dword [esp + 0x58], 0x882dd6dc
mov word [esp + 0x66], 0x6d93
mov dword [esp + 0x68], 0
mov dword [esp + 0x228], 0xffffe979
mov dword [esp + 0x60], 0x10fe
mov dword [esp + 0x50], 0x1f
mov dword [esp + 0x44], 0
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1e4], 0x10fe
mov dword [esp + 0x1f8], 0xffffe979
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0x882dd6dc
mov eax, esp
mov dword [eax], 0x1f
mov eax, 0x409198
mov dword [esp + 0x34], ecx
mov ecx, eax
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], esi
call fcn.004027f0
sub esp, 4
mov dword [esp + 0x20c], eax
mov eax, esp
mov dword [eax], 0x16
mov ecx, 0x4091b8
call fcn.004027f0
sub esp, 4
mov dword [esp + 0x38], 0
mov dword [esp + 0x214], eax
mov ecx, dword [esp + 0x20c]
lea edx, [esp + 0x1f0]
mov esi, esp
mov dword [esi + 8], edx
lea edx, [esp + 0x210]
mov dword [esi + 4], edx
mov dword [esi], eax
call fcn.004035d0
sub esp, 0xc
lea ecx, [esp + 0x78]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x20], eax
call fcn.00402a80
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1e8], 0
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x30]
sub ecx, edx
mov edx, dword [esp + 0x1f8]
add edx, 0x2687
mov esi, dword [esp + 0x224]
add esi, 0x77d22964
mov edi, esp
mov dword [edi + 0xc], esi
mov dword [edi + 8], edx
mov dword [edi + 4], ecx
mov dword [edi], 0
call eax
sub esp, 0x10
mov dword [esp + 0x1ec], eax
mov ecx, dword [esp + 0x210]
lea eax, [esp + 0x78]
mov edx, esp
mov dword [edx], eax
call fcn.00403c00
sub esp, 4
lea ecx, [0x404ce0]
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x1ec]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x208]
movzx ecx, byte [ecx]
cmp ecx, 0xe9
mov dword [esp + 0x1c], eax
jne 0x4056b8
mov eax, dword [esp + 0x208]
mov dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x2c]
add ecx, dword [eax + 1]
mov eax, dword [esp + 0x208]
add eax, ecx
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x4c]
xor ecx, 0
mov dword [esp + 0x4c], ecx
lea eax, [esp + 0x5c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x5c]
xor edx, eax
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x28]
cmp ecx, eax
jae 0x405779
lea eax, [esp + 0x4c]
mov ecx, 0
lea edx, [esp + 0x220]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x68]
mov ebx, dword [esp + 0x208]
sub ecx, dword [esp + 0x44]
mov bl, byte [ebx + esi]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x18]
xor eax, ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x14]
mov byte [esi + eax], bl
sub edx, edi
mov dword [esp + 0x220], edx
lea eax, [esp + 0x220]
lea ecx, [esp + 0x44]
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x34]
add edx, esi
mov edi, dword [esp + 0x44]
or edi, ecx
mov dword [esp + 0x44], edi
mov ecx, dword [esp + 0x4c]
and ecx, eax
mov dword [esp + 0x220], ecx
mov dword [esp + 0x74], edx
jmp 0x4056ce
lea eax, [esp + 0x78]
mov dword [esp], eax
call fcn.00402000
lea eax, [esp + 0x78]
mov cx, word [esp + 0x66]
xor cx, 0x1ac8
mov word [esp + 0x66], cx
mov dword [esp], eax
call dword [esp + 0x1ec]
mov eax, dword [esp + 0x1e8]
add eax, 0
mov dword [esp + 0x1e8], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret