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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x5d1dec
sub esp, 0x84
mov eax, 0
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov byte [esp + 0x27], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x26], 0
lea eax, [0x6563fc]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x26]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x94]
mov dword [esp + 0x74], ecx
mov byte [esp + 0x27], 1
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x5d16c6
xor ebx, ebx
xor edx, edx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
jmp 0x5d1ac3
mov dword [esp], eax
call fcn.005d1f90
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov ebx, dword [esp + 8]
mov dword [esp + 0x50], ebx
mov ebp, dword [esp + 4]
mov dword [esp + 0x58], ebp
test edx, edx
jle 0x5d1874
mov edx, dword [ecx]
cmp dword [ecx + 4], 7
jne 0x5d1874
cmp dword [edx], 0x6e756863
jne 0x5d1874
cmp word [edx + 4], 0x656b
jne 0x5d1874
cmp byte [edx + 6], 0x64
jne 0x5d1874
mov ecx, dword [esp + 0x8c]
lea edx, [0x69f3e8]
cmp ecx, edx
jne 0x5d173b
mov ecx, dword [esp + 0x90]
jmp 0x5d1740
mov ecx, 0
jne 0x5d1783
movzx edx, byte [eax + 0x3c]
test dl, dl
jne 0x5d1783
mov dword [esp + 0x4c], ecx
lea eax, [0x631420]
mov dword [esp], eax
call fcn.0040b5f0
mov edi, dword [esp + 4]
mov eax, dword [0x816df0]
test eax, eax
jne 0x5d1772
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
jmp 0x5d177b
mov eax, dword [esp + 0x4c]
call fcn.0045e5d0
lea ecx, [0x69f690]
jmp 0x5d1791
mov edi, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x48], edi
mov dword [esp + 0x28], ecx
lea eax, [0x6158a0]
mov dword [esp], eax
call fcn.0040b5f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov edx, dword [0x816df0]
test edx, edx
jne 0x5d17c4
mov edx, dword [esp + 0x48]
mov dword [eax + 4], edx
jmp 0x5d17d4
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x48]
call fcn.0045e5d0
mov eax, edx
mov dword [esp + 0x54], eax
lea ecx, [0x613ea0]
mov dword [esp], ecx
lea ecx, [0x6a2f34]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409090
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
call fcn.005d1e80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test edx, edx
jne 0x5d1863
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.005ad8c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
xor ebx, ebx
xor edx, edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
jmp 0x5d1ab4
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
sete dl
mov esi, dword [eax + 0x20]
cmp esi, 0xffffffff
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x5d1991
mov ecx, dword [eax]
cmp dword [eax + 4], 7
jne 0x5d1948
cmp dword [ecx], 0x4e4e4f43
jne 0x5d1938
cmp word [ecx + 4], 0x4345
jne 0x5d1928
cmp byte [ecx + 6], 0x54
je 0x5d18cf
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
jmp 0x5d1956
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x60], ecx
lea edx, [0x69f9ec]
mov dword [esp], edx
lea edx, [esp + 0x5c]
mov dword [esp + 4], edx
call fcn.00409020
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x5d1956
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
jmp 0x5d1956
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
jmp 0x5d1956
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.005d1e80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
jmp 0x5d1aa6
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], esi
lea eax, [0x61a9e0]
mov dword [esp], eax
call fcn.0040b5f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov edx, dword [0x816df0]
test edx, edx
jne 0x5d19c4
mov edx, dword [esp + 0x50]
mov dword [eax + 4], edx
jmp 0x5d19d4
lea edi, [eax + 4]
mov edx, eax
mov eax, dword [esp + 0x50]
call fcn.0045e5d0
mov eax, edx
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
lea ebp, [0x69f500]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.005d1e80
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test edx, edx
jne 0x5d1db8
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], ebx
mov eax, dword [0x7e9d20]
mov ecx, dword [0x7e9d24]
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
call fcn.005d1e80
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
mov eax, dword [esp + 0x38]
adc ebx, eax
mov edx, ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
test ebp, ebp
jne 0x5d1d90
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x88]
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x5d1b1f
mov byte [esp + 0x26], 1
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x5d1d5a
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x88]
movzx esi, byte [ebp + 0x18]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5d1c4a
mov esi, dword [ebp + 0x20]
cmp esi, 0xffffffff
xchg edi, ebx
setne bl
xchg edi, ebx
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0xffffffff
setne al
or edi, eax
xchg edi, eax
test al, al
xchg edi, eax
je 0x5d1c42
cmp edx, ecx
setne al
cmp ebx, esi
setne cl
or ecx, eax
test cl, cl
jne 0x5d1b6c
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
jmp 0x5d1c4a
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x60d0c0]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x60d0c0]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
lea eax, [0x64b1c4]
mov dword [esp], eax
mov dword [esp + 4], 0x2a
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b1d50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.005d1e00
add esp, 0x84
ret
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov edx, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
jle 0x5d1d32
mov ebx, dword [edx]
cmp dword [edx + 4], 7
jne 0x5d1d32
cmp dword [ebx], 0x6e756863
jne 0x5d1d32
cmp word [ebx + 4], 0x656b
jne 0x5d1d32
cmp byte [ebx + 6], 0x64
jne 0x5d1d32
mov edx, dword [ebp + 0x38]
test edx, edx
je 0x5d1cc6
nop
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.005c9d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5d1cfc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x63c3df]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call fcn.00483ad0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
jmp 0x5d1d32
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005d1e00
add esp, 0x84
ret
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005d1e00
add esp, 0x84
ret
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], edx
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005d1e00
add esp, 0x84
ret
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005d1e00
add esp, 0x84
ret
mov byte [esp + 0x27], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.005d1e00
add esp, 0x84
ret
call fcn.0045d190
jmp fcn.005d1620