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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x5d9e5a
sub esp, 0xac
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x5d9378
nop
movzx edx, byte [0x7c0510]
test dl, dl
je 0x5d9335
mov edx, dword [esp + 0xbc]
mov dword [0x7c0514], edx
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5d9321
mov eax, dword [esp + 0xc0]
mov dword [0x7c0518], eax
jmp 0x5d9343
lea edi, [0x7c0518]
mov eax, dword [esp + 0xc0]
call fcn.0045e950
jmp 0x5d9343
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x5d936e
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5d936a
or ebx, 0x80
mov ebp, eax
jmp 0x5d938c
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
jmp 0x5d938c
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
xor ebx, ebx
xor ecx, ecx
xor eax, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
jne 0x5d93c3
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004b8740
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xc0]
mov esi, ebx
nop
mov ebx, esi
and esi, 0x1f
mov dword [esp + 0x38], esi
lea edi, [esi - 2]
nop
cmp edi, 4
ja 0x5d93dd
mov edi, 2
jmp 0x5d93fd
lea edi, [esi - 7]
cmp edi, 4
ja 0x5d93ec
mov edi, 7
jmp 0x5d93fd
lea edi, [esi - 0xd]
cmp edi, 1
ja 0x5d93fb
mov edi, 0xd
jmp 0x5d93fd
mov edi, esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x50], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
cmp edx, 2
jne 0x5d95c7
mov eax, dword [esp + 0x38]
cmp eax, 3
ja 0x5d9464
cmp eax, 2
jne 0x5d944d
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov ecx, eax
sar eax, 0x1f
jmp 0x5d94a1
cmp eax, 3
jne 0x5d9e1f
mov ecx, dword [esp + 0x50]
movsx eax, byte [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5d94a1
cmp eax, 4
jne 0x5d9477
mov ecx, dword [esp + 0x50]
movsx eax, word [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5d94a1
cmp eax, 5
jne 0x5d9489
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov ecx, eax
sar eax, 0x1f
jmp 0x5d94a1
cmp eax, 6
jne 0x5d9e1f
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
test eax, eax
jge 0x5d9595
mov edx, dword [esp + 0xb0]
mov edx, dword [edx]
movzx edx, byte [edx + 0xb]
test dl, dl
jne 0x5d9595
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.00408d50
mov eax, dword [esp + 8]
lea ecx, [0x606840]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x63b42a]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004ba950
jmp 0x5d9c33
cmp edx, 7
jne 0x5d966e
mov eax, dword [esp + 0x38]
cmp eax, 9
ja 0x5d960c
cmp eax, 7
jne 0x5d95e8
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
xor ecx, ecx
jmp 0x5d963c
cmp eax, 8
jne 0x5d95f8
mov ecx, dword [esp + 0x50]
movzx eax, byte [ecx]
xor ecx, ecx
jmp 0x5d963c
cmp eax, 9
jne 0x5d9de5
mov ecx, dword [esp + 0x50]
movzx eax, word [ecx]
xor ecx, ecx
jmp 0x5d963c
cmp eax, 0xa
jne 0x5d961b
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
xor ecx, ecx
jmp 0x5d963c
cmp eax, 0xb
jne 0x5d962b
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5d963c
cmp eax, 0xc
jne 0x5d9de5
mov edx, dword [esp + 0x50]
mov eax, dword [edx]
xor ecx, ecx
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call fcn.004ba950
jmp 0x5d9c33
cmp edx, 0xd
jne 0x5d97e6
mov eax, dword [esp + 0x38]
cmp eax, 0xd
jne 0x5d968e
mov eax, dword [esp + 0x50]
movss xmm0, dword [eax]
cvtss2sd xmm0, xmm0
jmp 0x5d969f
cmp eax, 0xe
jne 0x5d9dab
mov eax, dword [esp + 0x50]
movsd xmm0, qword [eax]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
jbe 0x5d97a2
mov eax, dword [esp + 0xb0]
mov eax, dword [eax]
movzx eax, byte [eax + 0xb]
test al, al
jne 0x5d97a2
movsd qword [esp + 0x3c], xmm0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
movsd xmm0, qword [esp + 0x3c]
movsd qword [esp + 0x44], xmm0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00408d50
mov eax, dword [esp + 8]
lea ecx, [0x605d40]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
lea eax, [0x63b44e]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
movsd qword [esp], xmm0
call fcn.00458c30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004ba950
jmp 0x5d9c33
cmp edx, 1
jne 0x5d989f
mov ebx, dword [esp + 0xb0]
mov ebp, dword [ebx]
movzx ebp, byte [ebp + 0xb]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5d98a6
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call fcn.004b7600
movzx eax, byte [esp + 0xc]
test al, al
je 0x5d9865
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
call fcn.004ba950
jmp 0x5d9c33
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
call fcn.004ba950
jmp 0x5d9c33
mov ebx, dword [esp + 0xb0]
cmp edx, 0x18
jne 0x5d9a6b
mov edx, dword [ebx]
movzx edx, byte [edx + 0xb]
test dl, dl
je 0x5d9a6b
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
call fcn.004bad70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x5d98f0
mov eax, 1
lea ecx, [0x62dc6d]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xcc]
mov dword [esp + 8], ebp
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.004a5bc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x5d9a39
mov dword [esp + 0x70], ebx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5d99da
mov ebx, dword [eax + 4]
jmp 0x5d99dc
mov ebx, eax
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x88], eax
lea eax, [0x638555]
mov dword [esp], eax
mov dword [esp + 4], 0x1d
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004ba950
jmp 0x5d9c33
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], ecx
mov edx, dword [eax + 0x78]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
cmp dword [esp + 8], 0xd
je 0x5d9a8a
xor eax, eax
jmp 0x5d9aa1
mov dword [esp], eax
lea eax, [0x6309ed]
mov dword [esp + 4], eax
call fcn.004025c0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5d9aa9
xor eax, eax
jmp 0x5d9ad9
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp dword [esp + 8], 6
jne 0x5d9ad7
cmp dword [eax], 0x626d754e
jne 0x5d9ad7
cmp word [eax + 4], 0x7265
sete al
jmp 0x5d9ad9
xor eax, eax
test al, al
je 0x5d9c50
mov eax, dword [esp + 0xbc]
lea ecx, [0x612d60]
cmp eax, ecx
jne 0x5d9d95
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x40
call fcn.004a5bc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test edx, edx
je 0x5d9c06
mov dword [esp + 0x70], ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5d9ba7
mov ebx, dword [eax + 4]
jmp 0x5d9ba9
mov ebx, eax
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x88], eax
lea eax, [0x63bef2]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004ba950
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xac
ret
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x4c]
mov dword [esp], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 8], edx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
lea edi, [esp + 0x8c]
xor eax, eax
call fcn.0045eb78
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5d9cfc
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x68]
test eax, eax
je 0x5d9d19
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xa8], eax
lea eax, [0x63fe27]
mov dword [esp], eax
mov dword [esp + 4], 0x41
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.004c0250
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6068c0]
mov dword [esp + 8], eax
call fcn.00408a50
lea eax, [0x611440]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x633510]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [0x60ac00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004337b0
lea eax, [0x611440]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x632c12]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [0x60ac00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004337b0
lea eax, [0x611440]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x11
lea ecx, [0x632415]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 8], ecx
lea ecx, [0x60ac00]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004337b0
nop
call fcn.0045d540
jmp fcn.005d92c0