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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5d7a48
sub esp, 0x64
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x5d70ed
nop
nop
movzx edx, byte [0x7c0510]
test dl, dl
je 0x5d7083
mov edx, dword [esp + 0x74]
mov dword [0x7c0514], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5d7072
mov eax, dword [esp + 0x78]
mov dword [0x7c0518], eax
jmp 0x5d7087
lea edi, [0x7c0518]
mov eax, dword [esp + 0x78]
call fcn.0045e950
jmp 0x5d7087
mov eax, dword [esp + 0x78]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x4c]
test edx, edx
je 0x5d70b2
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5d70ae
or ebx, 0x80
mov ebp, eax
jmp 0x5d70ba
mov ebp, eax
xor ebx, ebx
xor eax, eax
xor edx, edx
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
jne 0x5d70f7
test esi, 0x200
jne 0x5d70f7
test esi, 0x80
je 0x5d70d9
mov ebx, dword [eax]
jmp 0x5d70db
mov ebx, eax
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
je 0x5d70f7
xor ecx, ecx
xor ebp, ebp
jmp 0x5d70f7
mov ebp, dword [esp + 0x78]
xor esi, esi
xor edx, edx
xor eax, eax
test ecx, ecx
je 0x5d7903
test esi, esi
je 0x5d77d0
mov dword [esp + 0x34], esi
mov ebx, dword [esp + 0x68]
mov edi, dword [ebx]
mov esi, dword [edi]
mov edi, dword [edi + 4]
test esi, esi
je 0x5d7176
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x1c], edx
call fcn.005d6660
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
test eax, eax
jne 0x5d771f
mov ecx, ebx
mov ebx, dword [esp + 0x68]
nop
mov eax, dword [esp + 0x84]
mov edx, eax
and eax, 0x1f
lea esi, [eax - 2]
nop
cmp esi, 4
ja 0x5d7193
mov eax, 2
jmp 0x5d71af
lea esi, [eax - 7]
cmp esi, 4
ja 0x5d71a2
mov eax, 7
jmp 0x5d71af
lea esi, [eax - 0xd]
cmp esi, 1
ja 0x5d71af
mov eax, 0xd
mov dword [esp + 0x30], eax
cmp eax, 0x13
ja 0x5d73a9
cmp eax, 7
ja 0x5d72b7
cmp eax, 1
je 0x5d726e
cmp eax, 2
je 0x5d7225
cmp eax, 7
jne 0x5d74be
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005d92c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005d8940
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005d9e70
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
cmp eax, 0xd
je 0x5d7360
cmp eax, 0x11
je 0x5d7317
cmp eax, 0x13
jne 0x5d74be
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005dd550
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005de550
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005da6b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
cmp eax, 0x16
ja 0x5d74a3
cmp eax, 0x14
je 0x5d745a
cmp eax, 0x15
jne 0x5d7409
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005db000
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005dcfd0
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ebx, edx
mov edx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005d7a60
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
cmp eax, 0x17
je 0x5d75f9
cmp eax, 0x18
je 0x5d75b3
cmp eax, 0x19
je 0x5d756a
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00408cf0
mov eax, dword [esp + 4]
lea ecx, [0x6091e0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea eax, [0x635a4a]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x54]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x64
ret
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005df070
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005d8020
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
jmp 0x5d763d
mov dword [esp], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
call fcn.005dd820
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, 1
test dl, dl
je 0x5d770b
mov edx, dword [esp + 0x68]
mov edx, dword [edx]
mov edx, dword [edx + 0x10]
test edx, edx
je 0x5d770b
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x5d770b
mov ebp, dword [edx + 4]
lea esi, [ebp + 1]
mov edi, ecx
mov ecx, dword [edx]
mov ebx, dword [edx + 8]
cmp ebx, esi
jae 0x5d76d1
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], eax
lea eax, [0x606f80]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
mov dword [edi + 8], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5d76be
mov dword [edi], eax
jmp 0x5d76c3
call fcn.0045e950
mov edx, edi
mov edi, dword [esp + 0x44]
mov ebp, ecx
mov ecx, eax
mov eax, dword [esp + 0x38]
lea ebx, [ebp + 1]
mov dword [edx + 4], ebx
lea edx, [ecx + ebp*8 + 4]
mov ebx, dword [esp + 0x70]
mov dword [edx], ebx
mov edx, dword [0x7e77b0]
lea ecx, [ecx + ebp*8]
test edx, edx
jne 0x5d76f6
mov edx, dword [esp + 0x6c]
mov dword [ecx], edx
jmp 0x5d770d
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, dword [esp + 0x6c]
call fcn.0045e950
mov eax, ebx
mov edi, edx
jmp 0x5d770d
mov edi, ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edi
add esp, 0x64
ret
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5d777a
mov ecx, dword [eax + 4]
jmp 0x5d777c
mov ecx, eax
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
lea eax, [0x635542]
mov dword [esp], eax
mov dword [esp + 4], 0x17
lea eax, [esp + 0x54]
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 + 0x88], eax
mov dword [esp + 0x8c], ecx
add esp, 0x64
ret
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 8], edx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bb9a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004b9ea0
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5d78e9
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x5d78e9
mov edx, dword [eax + 4]
lea ebx, [edx + 1]
mov ebp, dword [eax]
mov esi, dword [eax + 8]
cmp esi, ebx
jae 0x5d78be
mov dword [esp + 0x48], eax
lea eax, [0x606f80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
mov dword [edi + 8], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5d78af
mov dword [edi], eax
jmp 0x5d78b4
call fcn.0045e950
mov edx, ecx
mov ebp, eax
mov eax, edi
mov ecx, dword [esp + 0x70]
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
lea ebx, [ebp + edx*8 + 4]
mov dword [ebx], ecx
mov ecx, dword [0x7e77b0]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x5d78e0
mov eax, dword [esp + 0x6c]
mov dword [edi], eax
jmp 0x5d78e9
mov eax, dword [esp + 0x6c]
call fcn.0045e950
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x64
ret
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
movzx ecx, byte [ecx + 0xa]
test cl, cl
je 0x5d7a2e
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 8], edx
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bb9a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.004b9ea0
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x5d7a2e
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x5d7a2e
mov edx, dword [eax + 4]
lea ebx, [edx + 1]
mov ebp, dword [eax]
mov esi, dword [eax + 8]
cmp esi, ebx
jae 0x5d7a03
mov dword [esp + 0x48], eax
lea eax, [0x606f80]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00447740
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x48]
mov dword [edi + 8], edx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5d79f4
mov dword [edi], eax
jmp 0x5d79f9
call fcn.0045e950
mov edx, ecx
mov ebp, eax
mov eax, edi
mov ecx, dword [esp + 0x70]
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
lea ebx, [ebp + edx*8 + 4]
mov dword [ebx], ecx
mov ecx, dword [0x7e77b0]
lea edi, [ebp + edx*8]
test ecx, ecx
jne 0x5d7a25
mov eax, dword [esp + 0x6c]
mov dword [edi], eax
jmp 0x5d7a2e
mov eax, dword [esp + 0x6c]
call fcn.0045e950
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
add esp, 0x64
ret
call fcn.0045d540
jmp fcn.005d7020