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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x596d0f
sub esp, 0x60
lea eax, [esp + 0x64]
mov dword [esp], eax
mov dword [esp + 4], eax
mov byte [esp + 8], 0x30
call fcn.00584b80
movzx eax, byte [esp + 0xc]
test al, al
je 0x596a03
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x596a82
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x627fc6]
mov dword [eax], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x669cac]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x60
ret
mov edi, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, edi
mov edi, ebp
mov ebp, esi
mov esi, edi
mov edi, dword [esp + 0x68]
test edi, edi
je 0x596c6f
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
lea eax, [esp + 0x64]
mov dword [esp], eax
lea ecx, [esp + 0x54]
mov dword [esp + 4], ecx
call fcn.00584400
movzx eax, byte [esp + 8]
test al, al
je 0x596c00
mov eax, dword [0x7c4450]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [0x7c4454]
mov dword [esp + 0x3c], ebx
xor ebp, ebp
jmp 0x596cab
mov eax, 0
jge 0x596b6b
mov ecx, dword [esp + 0x2c]
inc ecx
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x596b18
mov ebx, dword [esp + 0x4c]
jmp 0x596b56
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5ef5a0]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x34]
mov dword [ebx + ecx*4 - 4], eax
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x48]
jmp 0x596a72
mov eax, dword [esp + 0x20]
inc eax
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jb 0x596b80
mov ebp, dword [esp + 0x48]
mov ebx, ecx
jmp 0x596bb2
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5fa860]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
mov dword [ebp + ecx*4 - 8], edx
mov dword [ebp + ecx*4 - 4], esi
mov edx, dword [0x7f7690]
test edx, edx
je 0x596be5
mov edx, edi
call fcn.004672b0
mov dword [edi], edx
mov esi, dword [ebp + ecx*4 - 0xc]
mov dword [edi + 4], esi
mov edi, edx
mov dword [ebp + ecx*4 - 0xc], edi
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov esi, ebp
mov ebp, eax
mov eax, ebx
mov ebx, dword [esp + 0x4c]
jmp 0x596a72
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x21
lea ecx, [0x627fc6]
mov dword [eax], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
lea ecx, [0x669cac]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], eax
add esp, 0x60
ret
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x60
ret
lea eax, [esi + 0x10]
inc ebp
cmp ebp, ebx
jge 0x596afe
mov esi, eax
cmp dword [eax + 8], ecx
jne 0x596ca7
mov dword [esp + 0x50], eax
mov dword [esp + 0x38], esi
mov edi, dword [eax + 4]
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
jmp 0x596cf2
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
jmp 0x596ca7
lea eax, [esi + 1]
mov ebx, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x28]
cmp esi, ecx
jge 0x596d06
mov ebx, dword [edx + esi*4]
lea eax, [edi + esi*4]
cmp dword [eax], ebx
je 0x596cdf
jmp 0x596cd5
mov eax, dword [eax]
cmp ebp, ebx
jmp 0x596b03
call fcn.00465ea0
jmp fcn.005969c0