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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7482f8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov eax, dword [ebp + 0x14]
push 0
push 0x861bd8
push 0x85e1c8
push 0
push eax
mov dword [esp + 0x28], ebp
call fcn.0071f44c
mov edx, dword [ebp + 0xa8]
lea ecx, [ebp + 0xa8]
add esp, 0x14
mov dword [esp + 0x34], eax
call dword [edx + 0x20]
mov eax, dword [ebp + 0x94]
lea ecx, [ebp + 0x94]
call dword [eax + 0x2c]
test eax, eax
mov dword [esp + 0x30], eax
je 0x59c236
mov edx, dword [ebp + 0x94]
lea ecx, [ebp + 0x94]
lea eax, [esp + 0x30]
push eax
call dword [edx + 0x34]
mov edx, dword [eax + 8]
lea edi, [eax + 8]
mov ecx, edi
mov dword [esp + 0x28], edi
call dword [edx + 0x2c]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x59c22b
nop
mov eax, dword [edi]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, edi
call dword [eax + 0x34]
mov esi, eax
mov bx, word [esi + 0x18]
test bx, bx
jne 0x59c0c1
cmp word [esi + 0x1a], bx
je 0x59c220
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x2c]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x59c0e9
mov eax, dword [edi]
lea ecx, [esp + 0x1c]
push ecx
mov ecx, edi
call dword [eax + 0x34]
cmp word [eax + 0x1e], bx
je 0x59c146
cmp dword [esp + 0x1c], 0
jne 0x59c0d0
xor ebx, ebx
mov edx, dword [edi]
mov bp, word [esi + 0x1a]
mov ecx, edi
call dword [edx + 0x2c]
test eax, eax
mov dword [esp + 0x20], eax
je 0x59c119
mov edi, edi
mov eax, dword [edi]
lea ecx, [esp + 0x20]
push ecx
mov ecx, edi
call dword [eax + 0x34]
cmp word [eax + 0x1e], bp
je 0x59c11b
cmp dword [esp + 0x20], 0
jne 0x59c100
xor eax, eax
mov edi, dword [eax + 0x10]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [ebx + 0x14]
mov eax, dword [eax + 0x14]
sub edi, ebp
sub eax, ebx
test edi, edi
mov dword [esp + 0x18], eax
mov ecx, edi
jne 0x59c137
mov ecx, eax
test ecx, ecx
jge 0x59c13d
neg ecx
test edi, edi
jge 0x59c14a
or edi, 0xffffffff
jmp 0x59c151
mov ebx, eax
jmp 0x59c0eb
jle 0x59c151
mov edi, 1
test eax, eax
jge 0x59c15f
mov dword [esp + 0x18], 0xffffffff
jmp 0x59c169
jle 0x59c169
mov dword [esp + 0x18], 1
test ecx, ecx
jl 0x59c218
add ecx, 1
mov dword [esp + 0x24], ecx
jmp 0x59c180
push esi
lea ecx, [esp + 0x48]
call fcn.005826f0
mov edx, dword [esp + 0x14]
mov cx, word [edx + 0xbc]
mov dl, byte [esi + 0x1c]
mov eax, dword [esi]
mov dword [esp + 0x74], 0
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebx
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
call fcn.00594800
push eax
lea ecx, [esi + 8]
call fcn.00413310
sub esp, 0x24
lea eax, [esp + 0x68]
mov ecx, esp
mov dword [esp + 0x5c], esp
push eax
call fcn.005826f0
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0xa8]
add ecx, 0xa8
call dword [edx + 8]
add ebx, dword [esp + 0x18]
add ebp, edi
lea ecx, [esp + 0x4c]
mov dword [esp + 0x74], 1
call fcn.00412de0
lea ecx, [esp + 0x44]
mov dword [esp + 0x74], 0xffffffff
call fcn.00412de0
sub dword [esp + 0x24], 1
jne 0x59c180
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
cmp dword [esp + 0x2c], 0
jne 0x59c0a0
cmp dword [esp + 0x30], 0
jne 0x59c070
mov eax, dword [ebp + 0x94]
lea ecx, [ebp + 0x94]
call dword [eax + 0x2c]
test eax, eax
mov dword [esp + 0x18], eax
je 0x59c352
jmp 0x59c260
mov edx, dword [ebp + 0x94]
lea ecx, [ebp + 0x94]
lea eax, [esp + 0x18]
push eax
call dword [edx + 0x34]
mov edx, dword [eax + 8]
lea ebx, [eax + 8]
mov ecx, ebx
call dword [edx + 0x2c]
test eax, eax
mov dword [esp + 0x24], eax
je 0x59c347
jmp 0x59c290
mov eax, dword [ebx]
lea ecx, [esp + 0x24]
push ecx
mov ecx, ebx
call dword [eax + 0x34]
mov esi, eax
cmp byte [esi + 0x1c], 0
jne 0x59c33c
mov edx, dword [esi + 0x10]
push 0
sub esp, 8
mov eax, esp
mov dword [eax], edx
mov ecx, dword [esi + 0x14]
mov dword [eax + 4], ecx
mov ecx, ebp
mov dword [esp + 0x44], esp
call fcn.00596f40
test al, al
mov byte [esi + 0x1c], al
jne 0x59c2ef
mov eax, dword [esi]
test eax, eax
je 0x59c2ef
push str.corner
push eax
call fcn.0071f59b
add esp, 8
neg eax
sbb eax, eax
add eax, 1
test al, al
je 0x59c2ef
mov byte [esi + 0x1c], 0xff
mov dx, word [ebp + 0xbc]
mov cl, byte [esi + 0x1c]
mov eax, dword [esi + 8]
push 0xffffffffffffffff
lea edi, [esi + 8]
push edx
push ecx
mov ecx, dword [esp + 0x40]
push eax
call fcn.00594800
push eax
lea ecx, [esp + 0x44]
call fcn.00413870
lea edx, [esp + 0x3c]
push edx
mov ecx, edi
mov dword [esp + 0x78], 2
call fcn.004133c0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x74], 0xffffffff
call fcn.00412de0
cmp dword [esp + 0x24], 0
jne 0x59c290
cmp dword [esp + 0x18], 0
jne 0x59c260
mov ecx, dword [esp + 0x6c]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret