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

Disassembly:
push 0xffffffffffffffff
push 0x5b6f28
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x6d2e20]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6d2e20]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov eax, dword [esp + 0x70]
mov edi, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], eax
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov esi, dword [edi + 0x3cc]
cmp esi, dword [edi + 0x3d0]
jbe 0x404a99
call fcn.0058abb2
mov ebp, dword [edi + 0x3c0]
mov dword [esp + 0x1c], esi
jmp 0x404ab0
mov edi, dword [edi + 0x3d0]
mov esi, dword [esp + 0x20]
cmp dword [esi + 0x3cc], edi
jbe 0x404ac7
call fcn.0058abb2
mov eax, dword [esi + 0x3c0]
cmp ebp, ebx
je 0x404ad5
cmp ebp, eax
je 0x404ada
call fcn.0058abb2
cmp dword [esp + 0x1c], edi
je 0x404d03
push ebx
mov edi, 0xf
push 0x6a6f4e
lea ecx, [esp + 0x48]
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebx
mov byte [esp + 0x4c], bl
call fcn.00411450
mov byte [esp + 0x68], 1
cmp ebp, ebx
jne 0x404bab
call fcn.0058abb2
xor eax, eax
mov esi, dword [esp + 0x1c]
cmp esi, dword [eax + 0x10]
jb 0x404b26
call fcn.0058abb2
push 0xffffffffffffffff
push ebx
push esi
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.00411090
mov byte [esp + 0x68], 2
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x28]
mov eax, esi
cmp edi, 0x10
jae 0x404b57
lea eax, [esp + 0x28]
push ebx
push 0x6a6f4e
push eax
call fcn.00410ca0
add esp, 0xc
cmp eax, ebx
jne 0x404bb3
xor eax, eax
cmp dword [esp + 0x38], ebx
setne al
cmp eax, ebx
jne 0x404bb3
cmp edi, 0x10
jb 0x404b85
push esi
call fcn.0044fdf0
add esp, 4
mov byte [esp + 0x68], bl
cmp dword [esp + 0x58], 0x10
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
jb 0x404c30
mov ecx, dword [esp + 0x44]
push ecx
jmp 0x404c28
mov eax, dword [ebp]
jmp 0x404b18
mov eax, esi
cmp edi, 0x10
jae 0x404bbe
lea eax, [esp + 0x28]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
push edx
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x48]
push edx
push ecx
push eax
call fcn.0042c8a0
add esp, 0x14
push 9
push ebx
push str._error_:0
lea ecx, [esp + 0x4c]
call fcn.0040cfd0
cmp eax, 0xffffffff
jne 0x404c5c
mov esi, 0x10
cmp dword [esp + 0x3c], esi
jb 0x404c09
mov edx, dword [esp + 0x28]
push edx
call fcn.0044fdf0
add esp, 4
mov byte [esp + 0x68], bl
mov dword [esp + 0x3c], 0xf
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
cmp dword [esp + 0x58], esi
jb 0x404c30
mov eax, dword [esp + 0x44]
push eax
call fcn.0044fdf0
add esp, 4
cmp ebp, ebx
jne 0x404c57
call fcn.0058abb2
xor eax, eax
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0x10]
jb 0x404c49
call fcn.0058abb2
add dword [esp + 0x1c], 0x1c
mov edi, dword [esp + 0x20]
jmp 0x404ab0
mov eax, dword [ebp]
jmp 0x404c3b
mov edi, 0x10
cmp dword [esp + 0x3c], edi
jb 0x404c74
mov edx, dword [esp + 0x28]
push edx
call fcn.0044fdf0
add esp, 4
mov esi, 0xf
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
cmp dword [esp + 0x58], edi
jb 0x404c98
mov eax, dword [esp + 0x44]
push eax
call fcn.0044fdf0
add esp, 4
mov eax, dword [esp + 0x88]
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
cmp eax, ebx
je 0x404cda
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x88]
push edx
push ecx
push eax
call fcn.004115d0
mov edx, dword [esp + 0x98]
push edx
call fcn.0044fdf0
add esp, 0x14
mov eax, dword [esp + 0x7c]
push eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
call fcn.0044fdf0
add esp, 4
mov eax, 1
jmp 0x404d5d
mov eax, dword [esp + 0x88]
cmp eax, ebx
je 0x404d39
mov ecx, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x88]
push edx
push ecx
push eax
call fcn.004115d0
mov edx, dword [esp + 0x98]
push edx
call fcn.0044fdf0
add esp, 0x14
mov eax, dword [esp + 0x7c]
push eax
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
call fcn.0044fdf0
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.0058848d
add esp, 0x58
ret 0x24