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

Disassembly:
mov ecx, dword [0x90eeac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x5deaf1
sub esp, 0x104
mov eax, dword [esp + 0x10c]
jmp 0x5de1bd
lea esi, [esp + 0xbc]
call fcn.00471bca
mov eax, dword [esp + 0x84]
mov dword [esp + 0x84], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], 0
lea ecx, [0x68ffe0]
mov dword [esp], ecx
lea edx, [esp + 0x6c]
mov dword [esp + 4], edx
call fcn.004e1200
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x108]
mov dword [esp], ecx
lea edx, [0x663920]
mov dword [esp + 4], edx
lea ebx, [esp + 0x54]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.005f0300
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5de5ba
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x5de261
movzx eax, word [esp + 0x58]
test ax, ax
jne 0x5de261
movzx eax, word [esp + 0x5a]
test ax, ax
je 0x5de902
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
add ecx, edx
mov dword [esp + 0x30], ecx
mov dword [esp + 4], ecx
call fcn.005ef660
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0xa0]
mov edx, dword [esp + 8]
mov dword [esp + 0x40], edx
mov ebx, dword [eax + 0xa4]
jmp 0x5de5f2
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x90]
jmp 0x5de2be
xor ecx, ecx
mov dword [esp + 0x88], ecx
test ecx, ecx
jne 0x5de2f9
mov ebx, dword [eax + 0x2ac]
mov ebp, dword [eax + 0xa0]
sub ebx, edx
mov dword [esp + 0x2c], ebx
mov esi, dword [eax + 0xa4]
xor edi, edi
xor edi, edi
mov dword [esp + 0x8c], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
jmp 0x5de9c1
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.005fd200
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + 0x14]
add eax, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
sub eax, edx
test ecx, ecx
je 0x5de63f
mov dword [esp + 0x2c], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0
lea eax, [0x690060]
mov dword [esp], eax
lea ecx, [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.004e1200
mov eax, dword [esp + 8]
test eax, eax
je 0x5de98c
movzx edx, word [esp + 0x5a]
mov dword [esp + 0x84], edx
mov ecx, eax
mov eax, dword [esp + 0x2c]
xor edx, edx
div ecx
mov edx, dword [esp + 0x84]
cmp edx, eax
jb 0x5de39a
mov edx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x20], edx
xor eax, eax
mov ebx, dword [esp + 0x30]
xor ebp, ebp
lea esi, [0x90ed40]
xor edi, edi
jmp 0x5de6fb
mov dword [esp + 0x84], ebx
movzx eax, word [esp + 0x58]
mov ebx, dword [esp + 0x108]
mov edx, dword [ebx + 0x290]
mov ebp, dword [esp + 0x10c]
lea ecx, [eax + ebp + 0x100]
add eax, ebp
cmp edx, ecx
jb 0x5de941
cmp ecx, eax
jb 0x5de93c
mov ecx, dword [ebx + 0x288]
sub edx, eax
mov dword [esp + 0x44], edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ecx
xor ecx, ecx
jmp 0x5de8e9
mov edx, dword [esp + 0x44]
cmp ecx, edx
ja 0x5de937
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0046caf0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xf0], ecx
test eax, eax
je 0x5de477
cmp eax, 0x100
jle 0x5de450
mov edx, 1
jmp 0x5de479
mov dword [esp + 0x60], eax
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ef250
movzx eax, byte [esp + 8]
xor eax, 1
mov ecx, dword [esp + 0xf0]
mov edx, eax
mov eax, dword [esp + 0x60]
jmp 0x5de479
xor edx, edx
test dl, dl
jne 0x5de902
lea edi, [esp + 0xbc]
mov edx, eax
xor eax, eax
call fcn.004716f9
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ebx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], edx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xd4], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 0x1c0]
mov ebx, dword [ecx + 0x1bc]
inc ebx
mov ebp, dword [ecx + 0x1b8]
cmp edx, ebx
jae 0x5de566
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6900e0]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x108]
mov dword [ebx + 0x1c0], eax
mov eax, dword [0x90f128]
test eax, eax
je 0x5de553
call fcn.00471470
mov dword [edi], ecx
mov eax, dword [ebx + 0x1b8]
mov dword [edi + 4], eax
mov dword [ebx + 0x1b8], ecx
xor eax, eax
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x108]
mov dword [ecx + 0x1bc], ebx
mov edx, dword [0x90f128]
imul ebx, ebx, 0x1c
lea edi, [ebx + ebp - 0x1c]
test edx, edx
je 0x5de1aa
mov dword [esp + 0xfc], edi
lea eax, [0x6900e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
call fcn.0040eab0
xor eax, eax
mov ecx, dword [esp + 0x108]
mov edi, dword [esp + 0xfc]
jmp 0x5de1aa
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
add esp, 0x104
ret
mov ebp, dword [esp + 0x100]
lea ecx, [ebp + 0x2c]
mov ebp, dword [esp + 0x80]
lea ebx, [ebp - 1]
mov eax, dword [esp + 0x108]
mov edx, dword [esp + 0x40]
test ebx, ebx
jle 0x5de2bc
mov dword [esp + 0x80], ebx
mov dword [esp + 0x100], ecx
lea edi, [esp + 0x90]
mov esi, ecx
call fcn.00471ba2
lea ecx, [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.005fcc30
movzx eax, byte [esp + 0xc]
test al, al
je 0x5de5d3
jmp 0x5de2a8
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0040a0c0
mov eax, dword [esp + 4]
lea ecx, [0x676760]
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x108]
mov eax, dword [eax + 0x2c0]
mov dword [esp], eax
lea eax, [0x6cf387]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x47
lea eax, [esp + 0xf4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.0051f960
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
add esp, 0x104
ret
mov dword [edx + ebx + 8], ecx
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov ebp, edi
mov esi, edx
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x38], edi
mov dword [esp + 0xe8], esi
mov dword [esp + 0x3c], ebp
cmp eax, edx
jae 0x5de3ba
mov dword [esp + 0x34], eax
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x108]
mov dword [esp], eax
lea edx, [0x6639a0]
mov dword [esp + 4], edx
lea ebp, [esp + 0x4c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.005f0300
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5de8cf
movzx ebx, word [esp + 0x50]
mov ebp, dword [esp + 0x108]
mov edx, dword [ebp + 0x290]
mov esi, dword [esp + 0x10c]
lea ecx, [ebx + esi + 0x100]
mov edi, dword [esp + 0x7c]
mov eax, ebp
mov ebp, dword [esp + 0x80]
add edi, ebp
add ebx, esi
cmp edx, ecx
jb 0x5de987
cmp ecx, ebx
jb 0x5de980
mov ecx, dword [eax + 0x288]
sub edx, ebx
mov dword [esp + 0x48], edx
neg edx
sar edx, 0x1f
and ebx, edx
add ebx, ecx
xor ecx, ecx
jmp 0x5de947
mov edx, dword [esp + 0x48]
cmp ecx, edx
ja 0x5de97b
mov dword [esp + 0x84], edi
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0046caf0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xec], ecx
test eax, eax
je 0x5de81b
cmp eax, 0x100
jle 0x5de7f8
mov edx, 1
jmp 0x5de81d
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.005ef250
movzx eax, byte [esp + 8]
xor eax, 1
mov ecx, dword [esp + 0xec]
mov edx, eax
mov eax, dword [esp + 0x5c]
jmp 0x5de81d
xor edx, edx
test dl, dl
jne 0x5de960
mov ebx, dword [esp + 0x38]
inc ebx
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x3c]
cmp edi, ebx
jb 0x5de843
mov edx, dword [esp + 0xe8]
jmp 0x5de897
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x688900]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xec]
mov edx, esi
mov edi, ebp
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x38], ebx
dec ebx
shl ebx, 4
mov dword [edx + ebx], ebp
mov dword [edx + ebx + 4], esi
mov dword [edx + ebx + 0xc], eax
mov ebp, dword [0x90f128]
test ebp, ebp
je 0x5de6d8
mov eax, edi
call fcn.00471470
mov dword [edi], ecx
mov ebp, dword [edx + ebx + 8]
mov dword [edi + 4], ebp
mov edi, eax
jmp 0x5de6d8
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
add esp, 0x104
ret
inc ecx
cmp ecx, 0x100
jae 0x5de40f
movzx edx, byte [ecx + eax]
test dl, dl
jne 0x5de8e8
jmp 0x5de40f
mov eax, dword [esp + 0x108]
mov ecx, dword [eax + 0x1bc]
test ecx, ecx
je 0x5de91a
mov byte [eax + 0x2a6], 1
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
add esp, 0x104
ret
call fcn.00471530
call fcn.00471550
call fcn.00471530
inc ecx
cmp ecx, 0x100
jae 0x5de7ac
movzx edx, byte [ecx + ebx]
test dl, dl
jne 0x5de946
jmp 0x5de7ac
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x84]
jmp 0x5de3ba
call fcn.00471530
mov eax, ebx
call fcn.00471550
call fcn.00471530
call fcn.004352f0
add ebp, 0x2c
mov ecx, dword [esp + 0x80]
dec ecx
mov esi, ecx
mov edi, eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
test esi, esi
jle 0x5dea95
mov dword [esp + 0x80], esi
mov dword [esp + 0x24], edi
lea edi, [esp + 0xbc]
mov esi, ebp
call fcn.00471ba2
mov ecx, dword [esp + 0xd0]
cmp ecx, edx
jbe 0x5dea7d
mov esi, eax
mov eax, dword [esp + 0x24]
inc eax
mov edi, ebx
mov ebx, dword [esp + 0x28]
cmp ebx, eax
jae 0x5dea6d
mov dword [esp + 0x100], ebp
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x676760]
mov dword [esp + 0x10], eax
call fcn.0046c350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x8c], eax
mov ebx, edx
mov edx, dword [esp + 0x40]
mov eax, ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
mov dword [edx + eax*4 - 4], ecx
jmp 0x5de991
mov esi, eax
mov edi, ebx
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
mov edx, dword [esp + 0x8c]
jmp 0x5de991
test edi, edi
je 0x5deaa6
mov ecx, dword [esp + 0x8c]
mov ebp, dword [ecx]
xor esi, esi
jmp 0x5deab4
mov eax, ebx
jmp 0x5de329
inc esi
mov ebp, ebx
mov ebx, dword [esp + 0x2c]
cmp esi, edi
jge 0x5deac3
mov ebx, dword [ecx + esi*4]
cmp ebp, ebx
ja 0x5deaad
mov ebx, ebp
jmp 0x5deaad
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.005ef370
mov eax, dword [esp + 8]
test eax, eax
je 0x5deae2
mov ebx, dword [eax + 0x14]
mov ecx, dword [esp + 0x40]
sub ebx, ecx
jmp 0x5deae6
mov ebx, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [esp + 0x108]
jmp 0x5deaa6
call fcn.00470060
jmp fcn.005de180