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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x248]
cmp eax, dword [ecx + 8]
jbe 0x5c6425
sub esp, 0x2c8
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x14]
mov ebx, dword [esp + 0x2d4]
movzx ebp, byte [ebx + 0x295]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c5e68
lea edi, [esp + 0x124]
xor eax, eax
call fcn.0045f204
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x68ae40]
cmp ecx, ebp
jne 0x5c640e
lea edi, [esp + 0x124]
call fcn.0045f4f8
mov ecx, dword [esp + 0x148]
jmp 0x5c5e94
lea edi, [esp + 0x44]
xor eax, eax
call fcn.0045f208
mov ecx, dword [ebx + 0x78]
mov esi, dword [ebx + 0x7c]
lea ebp, [0x68b380]
cmp ecx, ebp
jne 0x5c63f8
lea edi, [esp + 0x44]
call fcn.0045f520
mov ecx, dword [esp + 0x68]
cmp ecx, 0x200
jbe 0x5c5f89
test ecx, 1
je 0x5c5f83
mov ebp, dword [ebx + 0x274]
lea esi, [ebp + 1]
mov eax, edx
mov edx, dword [ebx + 0x270]
mov edi, ecx
mov ecx, dword [ebx + 0x278]
cmp ecx, esi
jae 0x5c5f31
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
lea eax, [0x65aa40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00448240
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2d4]
mov dword [ebx + 0x278], edx
mov edx, dword [0x8d5630]
test edx, edx
jne 0x5c5f1a
mov dword [ebx + 0x270], eax
jmp 0x5c5f25
lea edi, [ebx + 0x270]
call fcn.0045efb0
mov edi, dword [esp + 0x3c]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x40]
lea ecx, [ebp + 1]
mov dword [ebx + 0x274], ecx
mov ecx, dword [0x8a7a08]
mov esi, dword [0x8a7a0c]
lea ebx, [edx + ebp*8 + 4]
mov dword [ebx], esi
mov ebx, dword [0x8d5630]
lea edx, [edx + ebp*8]
test ebx, ebx
jne 0x5c5f63
mov dword [edx], ecx
cmp edi, 0x200
jmp 0x5c5f78
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0045efb0
cmp ebx, 0x200
mov eax, ebp
mov edx, eax
mov ebx, dword [esp + 0x2d4]
jmp 0x5c5f89
cmp ecx, 0x200
jb 0x5c5f91
shr edx, 9
shl edx, 9
mov eax, dword [ebx + 0x28c]
sub eax, edx
mov ecx, dword [esp + 0x2cc]
mov edx, dword [ecx + 0x10]
cmp edx, eax
jbe 0x5c5fac
mov eax, dword [ecx + 8]
jmp 0x5c5fb5
mov eax, dword [ecx + 8]
cmp eax, edx
ja 0x5c5fb5
mov eax, edx
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.005b8910
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x2d4]
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5c5ff2
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5c633b
xor edx, edx
test edx, edx
je 0x5c6017
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5c6234
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5c6263
xor edx, edx
test dl, dl
je 0x5c603c
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5c6149
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5c6177
xor edx, edx
test dl, dl
je 0x5c605a
mov edx, dword [ecx + 0xa4]
mov ebx, dword [ecx + 0xa0]
test edx, edx
je 0x5c6082
mov dword [esp + 0x38], edx
xor ebp, ebp
jmp 0x5c60a3
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2d0]
cmp edx, eax
jb 0x5c6072
add eax, ecx
cmp edx, eax
setb al
jmp 0x5c6074
xor eax, eax
mov byte [esp + 0x2d8], al
add esp, 0x2c8
ret
xor ecx, ecx
sub ecx, eax
jmp 0x5c605e
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x218]
mov esi, ebx
call fcn.0045f6e2
mov ecx, dword [esp + 0x2d4]
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x5c613d
mov dword [esp + 0x28], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x218]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c610f
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5c6088
mov eax, dword [esp + 0x20]
jmp 0x5c6082
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov edx, dword [edx + 0xa0]
mov ebx, dword [esp + 0x28]
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x5c6144
imul ebx, ebx, 0x2c
mov ecx, dword [ebx + edx + 0x38]
mov eax, dword [esp + 0x20]
jmp 0x5c6084
xor ecx, ecx
jmp 0x5c6084
call fcn.0045f030
xor edx, edx
mov ebx, dword [esp + 0x24]
lea ebp, [ebx + eax]
cmp edx, ebp
setb dl
jmp 0x5c603e
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x244]
mov esi, ebx
call fcn.0045f6e2
mov ecx, dword [esp + 0x2d4]
mov esi, ecx
mov ecx, dword [ecx + 0xa4]
dec ecx
cmp ebp, ecx
je 0x5c6226
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x244]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c61f4
mov eax, dword [esp + 0x2c]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5c615c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5c6149
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x2c]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5c622f
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5c614b
mov ecx, esi
xor edx, edx
jmp 0x5c614b
call fcn.0045f030
xor edx, edx
mov ebx, dword [esp + 0x2cc]
cmp dword [ebx + 0xc], edx
setb dl
jmp 0x5c6019
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x270]
mov esi, ebx
call fcn.0045f6e2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x5c6312
mov dword [esp + 0x30], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x270]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c62e0
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5c6248
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5c6234
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x30]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5c631b
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5c6236
mov eax, esi
xor edx, edx
jmp 0x5c6236
call fcn.0045f030
mov edx, dword [esp + 0x214]
lea ebx, [edx + 0x2c]
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
lea edi, [esp + 0x29c]
mov esi, ebx
call fcn.0045f6e2
mov ecx, dword [esp + 0x2d4]
mov esi, eax
mov eax, dword [ecx + 0xa4]
dec eax
cmp ebp, eax
je 0x5c63ea
mov dword [esp + 0x34], ebp
mov dword [esp + 0x214], ebx
mov eax, dword [esp + 0x2cc]
mov dword [esp], eax
lea ecx, [esp + 0x29c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x28
call fcn.004025e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c63b8
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jg 0x5c6320
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2d4]
jmp 0x5c5ff2
mov edx, dword [esp + 0x2d4]
mov ecx, dword [edx + 0xa4]
mov ebx, dword [edx + 0xa0]
mov ebp, dword [esp + 0x34]
lea eax, [ebp + 1]
cmp ecx, eax
jbe 0x5c63f3
imul ebp, ebp, 0x2c
mov ebx, dword [ebp + ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, edx
mov edx, ebx
jmp 0x5c5ff4
mov eax, esi
xor edx, edx
jmp 0x5c5ff4
call fcn.0045f030
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x65a380]
mov dword [esp + 8], eax
call fcn.00408a40
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea eax, [0x65a380]
mov dword [esp + 8], eax
call fcn.00408a40
nop
call fcn.0045dba0
jmp fcn.005c5df0