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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push edi
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
xor ebx, ebx
and dword [ebp - 4], ebx
and dword [ebp - 8], ebx
cmp eax, dword [ebp + 0x24]
jne 0x57ea14
cmp dword [ebp + 0x18], 4
jne 0x57e519
push dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
add ecx, 4
push ecx
push dword [edi + 0xc]
push dword [edi + 0x44]
push eax
call int.0058e9cd
mov ebx, eax
test ebx, ebx
jns 0x57e519
push dword [ebp + 8]
push 0x43f286
push ebx
call 0x59d4df
add esp, 0xc
jmp 0x57e9f7
lea eax, [ebp - 4]
push eax
push 0x20006
push dword [edi + 0x4c]
push dword [edi + 0x48]
call 0x59e61d
mov ebx, eax
test ebx, ebx
jns 0x57e545
push 0x43f262
push ebx
call 0x59d4df
pop ecx
pop ecx
jmp 0x57e9f7
cmp dword [ebp + 0x18], 4
push esi
je 0x57e556
cmp dword [ebp + 0x18], 6
jne 0x57e967
push dword [edi + 0x50]
mov esi, 0x402c4c
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x20]
mov esi, 0x402c28
push dword [edi + 0x1c]
push esi
push dword [ebp - 4]
call 0x59ed87
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x28]
mov esi, 0x402c08
push dword [edi + 0x24]
push esi
push dword [ebp - 4]
call 0x59ed87
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x18]
mov esi, 0x402be4
push dword [edi + 0x14]
push esi
push dword [ebp - 4]
call 0x59ed87
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x30]
mov esi, 0x402bc4
push dword [edi + 0x2c]
push esi
push dword [ebp - 4]
call 0x59ed87
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov ecx, dword [edi + 0x38]
mov eax, dword [edi + 0x3c]
movzx edx, cx
push edx
mov edx, eax
shrd ecx, edx, 0x10
movzx ecx, cx
push ecx
movzx ecx, ax
push ecx
mov dword [ebp - 0xc], eax
shr eax, 0x10
push eax
push 0x43f242
mov esi, 0x402b70
push esi
push dword [ebp - 4]
shr edx, 0x10
call 0x59ed43
mov ebx, eax
add esp, 0x1c
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x40]
test eax, eax
je 0x57e64b
push eax
mov esi, 0x402ba0
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x10]
test eax, eax
je 0x57e66b
push eax
mov esi, 0x402b8c
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push 0x43bc4a
push 0x43f23a
mov esi, 0x402b54
push esi
push dword [ebp - 4]
call 0x59ed43
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x50]
mov esi, 0x402b28
push 0x43f230
push esi
push dword [ebp - 4]
call 0x59ed43
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x57e9a7
lea eax, [ebp - 8]
push eax
push dword [ebp + 0x10]
mov ebx, edi
call fcn.0057c6e7
test eax, eax
mov eax, dword [ebp - 8]
jns 0x57e6cb
mov eax, dword [edi + 0x5c]
push eax
mov esi, 0x402b10
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x60]
test eax, eax
je 0x57e704
push eax
mov esi, 0x402af0
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x64]
test eax, eax
je 0x57e724
push eax
mov esi, 0x402ac0
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x68]
test eax, eax
je 0x57e744
push eax
mov esi, 0x402aac
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x57e764
push eax
mov esi, 0x402a90
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x70]
test eax, eax
je 0x57e784
push eax
mov esi, 0x402a74
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x74]
test eax, eax
je 0x57e7a4
push eax
mov esi, 0x402a58
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x78]
test eax, eax
je 0x57e7df
push eax
mov esi, 0x402a34
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x78]
mov esi, 0x402a18
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x57e7ff
push eax
mov esi, 0x402a04
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x80]
test eax, eax
je 0x57e822
push eax
mov esi, 0x4029f4
push esi
push dword [ebp - 4]
call 0x59ec9b
mov ebx, eax
test ebx, ebx
js 0x57e9a7
mov eax, dword [edi + 0x84]
cmp eax, 1
jne 0x57e912
mov esi, 0x4029e0
push 1
push esi
push dword [ebp - 4]
call 0x59e579
mov ebx, eax
test ebx, ebx
js 0x57e9a7
cmp dword [edi + 0x88], 0
je 0x57e872
push dword [edi + 0x8c]
mov esi, 0x402990
push esi
push dword [ebp - 4]
call 0x59e579
mov ebx, eax
test ebx, ebx
js 0x57e9a7
cmp dword [edi + 4], 0
jne 0x57e892
push 1
mov esi, 0x402970
push esi
push dword [ebp - 4]
call 0x59e579
mov ebx, eax
test ebx, ebx
js 0x57e9a7
push dword [edi + 0x50]
mov esi, 0x402944
push 0x43f200
push esi
push dword [ebp - 4]
call 0x59ed43
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x57e9a7
cmp dword [edi + 0x84], 2
mov eax, 0x43f1f0
je 0x57e8c8
mov eax, 0x43f1d8
push eax
push dword [edi + 0x50]
mov esi, 0x402924
push 0x43f1c4
push esi
push dword [ebp - 4]
call 0x59ed43
mov ebx, eax
add esp, 0x14
test ebx, ebx
js 0x57e9a7
cmp dword [edi + 0x94], 0
je 0x57e944
push dword [edi]
lea ebx, [edi + 0x90]
call fcn.0057d559
mov ebx, eax
test ebx, ebx
jns 0x57e944
push 0x43f1a4
jmp 0x57e9ee
cmp eax, 2
je 0x57e84b
push dword [edi + 0x50]
mov esi, 0x4029c8
push 0x43f188
push esi
push dword [ebp - 4]
call 0x59ed43
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x57e9a7
mov esi, 0x4029a4
jmp 0x57e836
cmp dword [edi + 0x98], 0
je 0x57e967
push dword [ebp + 0x10]
mov eax, edi
call fcn.0057e2bf
mov ebx, eax
test ebx, ebx
jns 0x57e967
push 0x43f162
jmp 0x57e9ee
cmp dword [ebp + 0x18], 3
je 0x57e9b8
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
shrd ecx, eax, 0xa
shr eax, 0xa
test eax, eax
jb 0x57e9b8
ja 0x57e98f
test ecx, ecx
je 0x57e9b8
test eax, eax
jb 0x57e992
ja 0x57e98f
cmp ecx, 0xffffffff
jbe 0x57e992
or ecx, 0xffffffff
push ecx
mov esi, 0x402ad4
push esi
push dword [ebp - 4]
call 0x59e579
mov ebx, eax
test ebx, ebx
jns 0x57e9b8
push esi
push 0x43e736
push ebx
call 0x59d4df
add esp, 0xc
jmp 0x57e9f6
cmp dword [ebp + 0x18], 4
je 0x57e9c4
cmp dword [ebp + 0x18], 6
jne 0x57e9d7
push edi
call fcn.00593f79
mov ebx, eax
test ebx, ebx
jns 0x57e9d7
push 0x43f134
jmp 0x57e9ee
push 0
push 1
push dword [ebp - 4]
call fcn.0057c74d
mov ebx, eax
test ebx, ebx
jns 0x57e9f6
push 0x43edde
push ebx
call 0x59d4df
pop ecx
pop ecx
pop esi
cmp dword [ebp - 8], 0
je 0x57ea05
push dword [ebp - 8]
call fcn.0059aafd
cmp dword [ebp - 4], 0
je 0x57ea14
push dword [ebp - 4]
call dword [0x40108c]
pop edi
mov eax, ebx
pop ebx
leave
ret 0x20