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

Disassembly:
sub esp, 0x9c
push esi
mov esi, ecx
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x44c]
test eax, eax
je 0x480b4b
mov eax, dword [esp + 0xa4]
cmp eax, 1
jge 0x48052c
mov eax, 1
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x14], eax
cmp ecx, 1
mov dword [esp + 0xc], 1
jl 0x480548
mov dword [esp + 0xc], ecx
fild dword [esi + 0x18]
push ebx
mov ebx, dword [esi + 0x444]
imul ebx, eax
fidiv dword [esp + 0x18]
push ebp
push edi
test bl, 3
mov dword [esp + 0x3c], ebx
fild dword [esi + 0x1c]
fidiv dword [esp + 0x18]
fstp dword [esp + 0x28]
je 0x480579
inc ebx
test bl, 3
jne 0x48056f
mov dword [esp + 0x3c], ebx
fmul dword [0x9cc58c]
call fcn.006b6108
fld dword [esp + 0x28]
fmul dword [0x9cc58c]
mov dword [esp + 0x50], eax
call fcn.006b6108
mov edi, ebx
mov dword [esp + 0x58], eax
imul edi, dword [esp + 0x18]
push edi
mov dword [esp + 0x68], edi
call fcn.006b7577
mov ebp, eax
mov eax, dword [esi + 0x44c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x1c]
xor edx, edx
add esp, 4
cmp eax, edx
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], edx
jle 0x480b19
mov ecx, dword [esp + 0x20]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], eax
jle 0x480afe
shl edx, 8
imul edx, dword [esp + 0x58]
sar edx, 8
mov ecx, edx
sar ecx, 8
mov edi, ecx
mov dword [esp + 0x68], ecx
shl edi, 8
sub edx, edi
mov edi, dword [esi + 0x444]
mov dword [esp + 0x60], edx
jmp 0x480616
mov ecx, dword [esp + 0x68]
shl eax, 8
imul eax, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
add edx, ebx
mov esi, dword [esi + 0x440]
sar eax, 8
mov dword [esp + 0x54], edx
mov edx, eax
sar edx, 8
mov ebx, edx
shl ebx, 8
sub eax, ebx
mov ebx, edi
mov dword [esp + 0x44], eax
mov eax, esi
imul eax, ecx
imul ebx, edx
add eax, ebx
mov ebx, eax
sub ebx, edi
mov ebp, ebx
sub ebp, esi
cmp ecx, 1
mov dword [esp + 0x6c], ebp
jl 0x480667
cmp edx, 1
jge 0x48066b
mov dword [esp + 0x6c], eax
mov ebp, eax
sub ebp, esi
cmp ecx, 1
mov dword [esp + 0x70], ebp
jge 0x48067c
mov dword [esp + 0x70], eax
mov ebp, edi
sub ebp, esi
add ebp, eax
cmp ecx, 1
mov dword [esp + 0x74], ebp
jl 0x480697
mov ebp, dword [esp + 0x24]
mov ebp, dword [ebp + 0x18]
dec ebp
cmp edx, ebp
jl 0x48069b
mov dword [esp + 0x74], eax
lea ebp, [edi + edi]
sub ebp, esi
add ebp, eax
cmp ecx, 1
mov dword [esp + 0x78], ebp
jl 0x4806b9
mov ebp, dword [esp + 0x24]
mov ebp, dword [ebp + 0x18]
sub ebp, 2
cmp edx, ebp
jl 0x4806bd
mov dword [esp + 0x78], eax
cmp edx, 1
mov dword [esp + 0x7c], ebx
jge 0x4806ca
mov dword [esp + 0x7c], eax
lea ebx, [edi + eax]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx + 0x18]
lea ebp, [ebx - 1]
cmp edx, ebp
mov dword [esp + 0x10], ebp
jl 0x4806f4
mov dword [esp + 0x84], eax
add ebx, 0xfffffffe
lea ebp, [eax + edi*2]
cmp edx, ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x14], ebx
jl 0x480710
mov dword [esp + 0x88], eax
mov ebx, esi
sub ebx, edi
add ebx, eax
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx + 0x1c]
mov dword [esp + 0x2c], ebx
dec ebx
cmp ecx, ebx
jge 0x480732
cmp edx, 1
jge 0x480739
mov dword [esp + 0x8c], eax
lea ebp, [esi + eax]
cmp ecx, ebx
mov dword [esp + 0x90], ebp
jl 0x48074e
mov dword [esp + 0x90], eax
lea ebp, [esi + edi]
mov dword [esp + 0x1c], ebp
add ebp, eax
cmp ecx, ebx
mov dword [esp + 0x94], ebp
jge 0x480768
cmp edx, dword [esp + 0x10]
jl 0x48076f
mov dword [esp + 0x94], eax
lea ebp, [esi + edi*2]
add ebp, eax
cmp ecx, ebx
mov dword [esp + 0x98], ebp
jge 0x480785
cmp edx, dword [esp + 0x14]
jl 0x48078c
mov dword [esp + 0x98], eax
add esi, esi
mov ebx, esi
sub ebx, edi
add ebx, eax
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x2c]
add ebx, 0xfffffffe
cmp ecx, ebx
jge 0x4807ab
cmp edx, 1
jge 0x4807b2
mov dword [esp + 0x9c], eax
lea ebp, [esi + eax]
cmp ecx, ebx
mov dword [esp + 0xa0], ebp
jl 0x4807c7
mov dword [esp + 0xa0], eax
add esi, edi
add esi, eax
cmp ecx, ebx
mov dword [esp + 0xa4], esi
jge 0x4807dc
cmp edx, dword [esp + 0x10]
jl 0x4807e3
mov dword [esp + 0xa4], eax
mov esi, dword [esp + 0x1c]
cmp ecx, ebx
lea esi, [eax + esi*2]
mov dword [esp + 0xa8], esi
jge 0x4807fb
cmp edx, dword [esp + 0x14]
jl 0x480802
mov dword [esp + 0xa8], eax
xor eax, eax
mov ecx, 0xffffff00
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x2c], ecx
lea ebx, [esp + 0x6c]
mov eax, dword [esp + 0x60]
sub ecx, eax
xor eax, eax
lea edx, [ecx + 0x200]
lea edi, [ecx - 0x100]
test edx, edx
lea esi, [ecx + 0x100]
jle 0x480849
mov eax, edx
imul eax, edx
sar eax, 8
imul eax, edx
sar eax, 8
xor edx, edx
test esi, esi
jle 0x48085d
mov edx, esi
imul edx, esi
sar edx, 8
imul edx, esi
sar edx, 8
xor esi, esi
test ecx, ecx
jle 0x480871
mov esi, ecx
imul esi, ecx
sar esi, 8
imul esi, ecx
sar esi, 8
xor ecx, ecx
test edi, edi
jle 0x480885
mov ecx, edi
imul ecx, edi
sar ecx, 8
imul ecx, edi
sar ecx, 8
shl ecx, 0xa
sar ecx, 8
shl edx, 0xa
sub eax, ecx
lea ecx, [esi + esi*2]
sar edx, 8
sub eax, edx
mov ebp, 0xffffff00
shl ecx, 9
shl eax, 8
and cl, 0
add eax, ecx
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x44]
mov ecx, ebp
sub ecx, eax
xor eax, eax
lea edx, [ecx + 0x200]
lea edi, [ecx - 0x100]
test edx, edx
lea esi, [ecx + 0x100]
jle 0x4808ed
mov eax, edx
imul eax, edx
sar eax, 8
imul eax, edx
sar eax, 8
xor edx, edx
test esi, esi
jle 0x480901
mov edx, esi
imul edx, esi
sar edx, 8
imul edx, esi
sar edx, 8
xor esi, esi
test ecx, ecx
jle 0x480915
mov esi, ecx
imul esi, ecx
sar esi, 8
imul esi, ecx
sar esi, 8
xor ecx, ecx
test edi, edi
jle 0x480929
mov ecx, edi
imul ecx, edi
sar ecx, 8
imul ecx, edi
sar ecx, 8
shl ecx, 0xa
sar ecx, 8
shl edx, 0xa
sub eax, ecx
lea ecx, [esi + esi*2]
sar edx, 8
sub eax, edx
add ebp, 0x100
shl ecx, 9
shl eax, 8
and cl, 0
add ebx, 4
add eax, ecx
mov ecx, eax
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebx - 4]
mov eax, edx
sar eax, 8
mov edx, eax
shr edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x4c]
imul eax, dword [esp + 0x48]
shr ecx, 2
sar eax, 8
mov edi, dword [edx + ecx*4]
lea esi, [edx + ecx*4]
mov ecx, edi
xor edx, edx
shr ecx, 0x10
mov dh, cl
mov ecx, dword [esp + 0x1c]
imul edx, eax
sar edx, 8
add ecx, edx
xor edx, edx
mov dword [esp + 0x1c], ecx
mov ecx, edi
shr ecx, 8
mov dh, cl
mov ecx, dword [esp + 0x14]
imul edx, eax
sar edx, 8
add ecx, edx
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov ch, byte [esi]
mov esi, dword [esp + 0x10]
imul ecx, eax
sar ecx, 8
add esi, ecx
cmp ebp, 0x300
mov dword [esp + 0x10], esi
jl 0x4808bf
mov ecx, dword [esp + 0x2c]
add ecx, 0x100
cmp ecx, 0x300
mov dword [esp + 0x2c], ecx
jl 0x48081d
mov eax, dword [esp + 0x1c]
mov edx, eax
shl edx, 5
add edx, eax
lea eax, [eax + edx*4]
shl eax, 1
mov ecx, eax
and ecx, 0xffff0000
cmp ecx, 0xff0000
jg 0x480a1c
test eax, 0xffff0000
jge 0x480a14
xor bl, bl
jmp 0x480a26
cmp ecx, 0xff0000
jle 0x480a21
or bl, 0xff
jmp 0x480a26
mov ebx, eax
sar ebx, 0x10
mov eax, dword [esp + 0x14]
mov ecx, eax
shl ecx, 5
add ecx, eax
lea eax, [eax + ecx*4]
shl eax, 1
mov ecx, eax
and ecx, 0xffff0000
cmp ecx, 0xff0000
jg 0x480a59
test eax, 0xffff0000
jge 0x480a51
xor al, al
jmp 0x480a60
cmp ecx, 0xff0000
jle 0x480a5d
or al, 0xff
jmp 0x480a60
sar eax, 0x10
mov ecx, dword [esp + 0x10]
mov edx, ecx
shl edx, 5
add edx, ecx
lea ecx, [ecx + edx*4]
shl ecx, 1
mov edx, ecx
and edx, 0xffff0000
cmp edx, 0xff0000
jg 0x480a97
test ecx, 0xffff0000
jge 0x480a8f
mov byte [esp + 0x38], 0
jmp 0x480aa5
cmp edx, 0xff0000
jle 0x480a9e
mov byte [esp + 0x38], 0xff
jmp 0x480aa5
sar ecx, 0x10
mov byte [esp + 0x38], cl
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x5c]
xor ecx, ecx
mov esi, dword [esp + 0x24]
mov ch, bl
mov ebx, dword [esp + 0x34]
mov cl, al
mov eax, dword [esp + 0x54]
shl ecx, 8
and edx, 0xff
shr eax, 2
or ecx, edx
mov dword [ebp + eax*4], ecx
mov edi, dword [esi + 0x444]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x20]
add ebx, edi
inc eax
cmp eax, ecx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x40], eax
jl 0x480612
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
add eax, ebx
inc edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x18]
cmp edx, eax
mov dword [esp + 0x28], edx
jl 0x4805d5
mov edx, dword [esi + 0x44c]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push edx
mov dword [esi + 0x440], ebx
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
call fcn.006b748e
add esp, 4
mov dword [esi + 0x448], edi
mov dword [esi + 0x44c], ebp
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x9c
ret 8