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

Disassembly:
mov ecx, dword [0x59df44]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc4]
cmp eax, dword [ecx + 8]
jbe 0x480f16
sub esp, 0x144
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x480772
mov ecx, dword [esp + 0x15c]
test ecx, ecx
jne 0x4803cd
lea ecx, [0x5790e0]
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x4803da
lea edx, [0x579120]
mov ebx, dword [ecx + 0x18]
cmp ebx, 3
jg 0x480736
jl 0x4806fa
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xcc], edx
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x48040a
mov ebx, dword [esp + 0x148]
jmp 0x48043f
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x148]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.0047ff30
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4806c2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov eax, ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00481120
mov eax, dword [esp + 0x14]
test eax, eax
je 0x48045b
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x48046f
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x480f0c
mov edx, dword [esp + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test eax, eax
jne 0x4806a0
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x48049f
mov ebx, dword [eax + 4]
jmp 0x4804da
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 8], eax
call fcn.0047f8a0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
test ecx, ecx
jne 0x4804e2
xor ecx, ecx
jmp 0x480538
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00481120
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4804fe
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x480512
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x480f03
mov edx, dword [esp + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test eax, eax
jne 0x48067e
mov eax, dword [esp + 0xcc]
mov ecx, edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xd8], ecx
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 4]
test ebp, ebp
jne 0x480551
xor ebp, ebp
jmp 0x48059b
mov eax, dword [ebx]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.00481120
mov eax, dword [esp + 0x14]
test eax, eax
je 0x48056f
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x480583
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x480efa
mov edx, dword [esp + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test eax, eax
jne 0x48065c
mov ebp, edx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x58], 0
lea eax, [esp + 0x44]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
call fcn.00484d60
mov eax, dword [esp + 0x44]
cmp eax, 6
jae 0x4805e6
mov eax, 1
jmp 0x4805f4
jne 0x4805f2
cmp dword [esp + 0x40], 1
setbe al
jmp 0x4805f4
xor eax, eax
mov byte [esp + 0x37], al
call fcn.00483850
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp]
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x480614
mov ecx, edx
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xe4]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x54], edx
lea ebx, [0x4bbc40]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044c530
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x64], edx
xor ebx, ebx
jmp 0x4807af
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x4f2484]
mov dword [esp + 0x168], eax
lea eax, [0x4f2014]
mov dword [esp + 0x16c], eax
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x4f2484]
mov dword [esp + 0x168], eax
lea eax, [0x4f2018]
mov dword [esp + 0x16c], eax
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x4f2484]
mov dword [esp + 0x168], eax
lea eax, [0x4f2018]
mov dword [esp + 0x16c], eax
call fcn.00436530
add esp, 0x144
ret
inc ebx
cmp ebx, edx
jge 0x4808ed
mov ebp, dword [ecx + 0x18]
cmp ebx, ebp
jae 0x480ef1
mov ebp, dword [ecx + 0x14]
mov ebp, dword [ebp + ebx*4]
test ebp, ebp
jbe 0x4807ae
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
cmp esi, edi
je 0x4807ff
movzx edx, byte [esp + 0x37]
test dl, dl
je 0x480804
mov dword [esp + 0x60], ebp
and ebp, 0x10000003
cmp ebp, 3
jne 0x4807f9
mov ebp, dword [esp + 0x60]
mov esi, edi
jmp 0x480804
mov ebp, dword [esp + 0x60]
jmp 0x480804
movzx edx, byte [esp + 0x37]
mov edx, dword [esp + 0x54]
cmp ebx, edx
jae 0x480ee8
mov dword [esp + 0x4c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
lea ecx, [eax + ebx*4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 1
mov dword [esp + 0x18], 2
call fcn.00483160
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4808b5
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x5c], edx
lea ebx, [0x4bfcc0]
mov dword [esp], ebx
call fcn.0040bff0
mov eax, dword [esp + 4]
lea ecx, [0x480fa0]
mov dword [eax], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x5c]
mov dword [eax + 8], ebx
mov dword [esp], eax
call fcn.00435ec0
test eax, eax
jne 0x4808a9
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x4c]
jmp 0x4807ae
call fcn.00436530
add esp, 0x144
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
call fcn.00436530
add esp, 0x144
ret
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.00465bde
mov dword [esp], 2
call fcn.00481e90
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x168], edx
mov dword [esp + 0x16c], ebx
test ebp, ebp
jne 0x480b35
mov eax, dword [esp + 0x140]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
lea ecx, [0x480f60]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xa4]
mov dword [esp], eax
call fcn.00435fa0
test eax, eax
jne 0x480b29
mov dword [esp + 0xfc], 0x48
mov dword [esp + 0x128], 0x100
mov edx, dword [esp + 0xcc]
movzx ebx, byte [edx]
test bl, bl
je 0x4809c3
mov dword [esp + 0x128], 0x101
mov word [esp + 0x12c], 0
mov ebx, dword [edx + 0x2c]
test ebx, ebx
je 0x480a31
lea eax, [edx + 0x2c]
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20000
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004848d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test edx, edx
jne 0x480b07
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x54]
test ebx, ebx
jbe 0x480edf
mov ebp, dword [esp + 0xe0]
mov esi, dword [ebp]
mov dword [esp + 0x134], esi
cmp ebx, 1
jbe 0x480ed3
mov esi, dword [ebp + 4]
mov dword [esp + 0x138], esi
cmp ebx, 2
jbe 0x480ec7
mov eax, dword [ebp + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [edx + 0x24]
lea ecx, [ebx + eax]
mov esi, dword [edx + 0x20]
cmp ebx, ecx
jb 0x480a85
mov edi, ebx
jmp 0x480acd
mov dword [esp + 0x64], eax
mov dword [esp + 0xdc], esi
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x4bbc40]
mov dword [esp + 0x10], ecx
call fcn.0044c5f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x54]
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0xd0], ebp
lea edx, [ebp + edi*4]
mov dword [esp], edx
mov dword [esp + 4], esi
shl eax, 2
mov dword [esp + 8], eax
call fcn.004662e0
mov eax, dword [esp + 0xd0]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x50]
xor ebx, ebx
jmp 0x480b58
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
inc ebx
cmp ebx, edx
jge 0x480b77
mov ebp, dword [eax + ebx*4]
test cl, cl
je 0x480b57
and ebp, 0x10000003
cmp ebp, 3
jne 0x480b57
mov dword [eax + ebx*4], 0
jmp 0x480b57
xor ecx, ecx
xor ebx, ebx
jmp 0x480b7e
inc ecx
cmp ecx, edx
jge 0x480b97
mov ebp, dword [eax + ecx*4]
test ebp, ebp
je 0x480b7d
cmp ebx, edx
jae 0x480ebe
mov dword [eax + ebx*4], ebp
inc ebx
jmp 0x480b7d
mov edx, dword [esp + 0x54]
cmp ebx, edx
ja 0x480eb7
test ebx, ebx
je 0x480bb7
mov ebp, dword [esp + 0xcc]
movzx esi, byte [ebp + 0x1c]
xor esi, 1
jmp 0x480bc0
mov ebp, dword [esp + 0xcc]
xor esi, esi
xchg esi, eax
mov byte [esp + 0x36], al
xchg esi, eax
mov dword [esp + 0x48], ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x480c56
test ebx, ebx
jbe 0x480eae
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20002
mov dword [esp + 0xc], eax
shl ebx, 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004848d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test edx, edx
je 0x480c56
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047f990
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test edx, edx
jne 0x480e8c
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
or ecx, 0x80400
test edx, edx
je 0x480d46
mov ebp, dword [eax + 0x14]
mov esi, dword [eax + 0x18]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
movzx edx, byte [esp + 0x36]
mov byte [esp + 0x14], dl
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x28], ecx
call fcn.00482560
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
jmp 0x480db3
mov edx, dword [eax + 0x14]
mov ebp, dword [eax + 0x18]
mov esi, dword [esp + 0xc8]
mov dword [esp], esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
movzx edx, byte [esp + 0x36]
mov byte [esp + 0x10], dl
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x24], ecx
call fcn.00482f10
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x168]
test eax, eax
jne 0x480e6a
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x480f20]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00435fa0
test eax, eax
jne 0x480e5e
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
call fcn.00436530
add esp, 0x144
ret
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00436530
add esp, 0x144
ret
xor eax, eax
mov ecx, eax
call fcn.00465a90
mov ecx, ebx
call fcn.00465ad0
mov eax, ebx
mov ecx, edx
call fcn.00465a90
mov eax, 2
mov ecx, eax
call fcn.00465a90
mov eax, 1
mov ecx, eax
call fcn.00465a90
xor eax, eax
mov ecx, eax
call fcn.00465a90
mov eax, ebx
mov ecx, edx
call fcn.00465a90
mov eax, ebx
mov ecx, ebp
call fcn.00465a90
xor eax, eax
mov ecx, eax
call fcn.00465a90
xor eax, eax
mov ecx, eax
call fcn.00465a90
xor eax, eax
mov ecx, eax
call fcn.00465a90
nop
call fcn.00464630
jmp fcn.00480360