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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x124]
cmp eax, dword [ecx + 8]
jbe 0x599932
sub esp, 0x1a4
mov eax, dword [esp + 0x1ac]
jmp 0x5994e0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
lea ecx, [0x5fe7c0]
mov dword [esp], ecx
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [esp + 0x168], eax
mov ecx, dword [esp + 0x1a8]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call fcn.005a8720
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
lea edi, [esp + 0x60]
mov esi, dword [esp + 0x168]
call fcn.00461810
lea ecx, [0x5fe7c0]
mov dword [esp], ecx
lea edx, [esp + 0x60]
mov dword [esp + 4], edx
call fcn.00408f60
mov eax, dword [esp + 8]
lea ecx, [0x5fe7c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004b3850
mov eax, dword [esp + 8]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x1a8]
mov dword [esp], ecx
lea edx, [0x5d6c60]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x168]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.005a9440
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x599906
lea edi, [esp + 0x60]
mov esi, dword [esp + 0x168]
call fcn.00461810
lea edi, [esp + 0x40]
xor eax, eax
call fcn.00461348
lea ecx, [esp + 0x60]
mov dword [esp], ecx
lea ecx, [esp + 0x40]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x20
call fcn.00402990
movzx ecx, byte [esp + 0xc]
test cl, cl
jne 0x5998d1
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
add eax, ecx
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + 0x28c]
mov ebx, dword [esp + 0x30]
sub edx, ebx
mov ebp, dword [esp + 0x168]
mov esi, dword [ebp + 0x10]
cmp esi, eax
jb 0x599627
cmp dword [ebp + 0xc], eax
jae 0x599648
cmp esi, eax
jbe 0x599627
mov edx, dword [ebp + 0xc]
mov esi, eax
sub eax, edx
mov edi, eax
jmp 0x59964c
mov edx, dword [ebp + 0xc]
cmp edx, eax
jbe 0x599638
mov edx, eax
sub eax, esi
mov esi, edx
mov edi, eax
jmp 0x59964c
mov edi, eax
sub eax, esi
mov esi, edi
sub edi, edx
cmp edi, eax
ja 0x59964c
mov edi, eax
jmp 0x59964c
mov esi, eax
mov edi, edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], edi
movzx eax, byte [ecx + 0x295]
test al, al
je 0x59968f
mov dword [esp], ecx
lea eax, [0x5d6c60]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.005abfb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
jmp 0x5996bd
mov dword [esp], ecx
lea eax, [0x5d6c60]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.005ab620
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
test eax, eax
jne 0x5998bc
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x160], edx
mov ecx, dword [esp + 0x168]
mov ebp, dword [ecx]
test ebp, ebp
jne 0x59972d
lea edi, [esp + 0x80]
xor eax, eax
call fcn.00461318
mov ecx, dword [esp + 0x1a8]
mov ebp, dword [ecx + 0x78]
mov ebx, dword [ecx + 0x7c]
lea edx, [0x606220]
cmp ebp, edx
jne 0x59991b
lea edi, [esp + 0x80]
mov esi, ebx
call fcn.00461630
mov ecx, dword [esp + 0x168]
mov ebx, dword [ecx + 4]
sub ebx, dword [esp + 0x9c]
mov ebp, ebx
jmp 0x599730
mov ebp, dword [ecx + 4]
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ecx
call fcn.005a8b60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005a80d0
movzx eax, byte [esp + 8]
test al, al
je 0x5998b0
lea edi, [esp + 0x16c]
xor eax, eax
call fcn.00461342
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x180], ecx
lea edi, [esp + 0x184]
mov esi, dword [esp + 0x168]
call fcn.00461810
mov ecx, dword [esp + 0x1a8]
mov edx, dword [ecx + 0x1b0]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 0x1ac]
mov eax, ecx
mov ecx, dword [ecx + 0x1b4]
cmp ecx, ebx
jae 0x59985c
lea eax, [0x5f8880]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.0044a7d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x1a8]
mov dword [ebx + 0x1b4], edx
mov edx, dword [0x7e1c20]
test edx, edx
jne 0x59984b
mov dword [ebx + 0x1ac], eax
jmp 0x599856
lea edi, [ebx + 0x1ac]
call fcn.004610d0
mov edx, ecx
mov ebp, eax
mov eax, ebx
lea ecx, [edx + 1]
mov dword [eax + 0x1b0], ecx
mov ecx, dword [0x7e1c20]
imul edx, edx, 0x38
lea edi, [ebp + edx]
test ecx, ecx
jne 0x599887
lea esi, [esp + 0x16c]
call fcn.004617d4
jmp 0x5994dc
lea eax, [0x5f8880]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x16c]
mov dword [esp + 8], eax
call fcn.004100e0
mov eax, dword [esp + 0x1a8]
jmp 0x5994dc
mov eax, dword [esp + 0x1a8]
jmp 0x5994dc
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], ecx
add esp, 0x1a4
ret
mov eax, dword [esp + 0x1a8]
mov ecx, dword [eax + 0x1b0]
test ecx, ecx
je 0x5998e9
mov byte [eax + 0x2a8], 1
mov dword [esp + 0x1b4], 0
mov dword [esp + 0x1b8], 0
add esp, 0x1a4
ret
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b8], edx
add esp, 0x1a4
ret
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x5e4100]
mov dword [esp + 8], eax
call fcn.00408da0
nop
call fcn.0045fcc0
jmp fcn.005994b0