Function at 0x5062b0
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 0x5068fb
mov eax, dword [esp + 0xa4]
cmp eax, 1
jge 0x5062dc
mov eax, 1
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x14], eax
cmp ecx, 1
mov dword [esp + 0xc], 1
jl 0x5062f8
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 0x506329
inc ebx
test bl, 3
jne 0x50631f
mov dword [esp + 0x3c], ebx
fmul dword [0x753560]
call fcn.00532108
fld dword [esp + 0x28]
fmul dword [0x753560]
mov dword [esp + 0x50], eax
call fcn.00532108
mov edi, ebx
mov dword [esp + 0x58], eax
imul edi, dword [esp + 0x18]
push edi
mov dword [esp + 0x68], edi
call fcn.00533477
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 0x5068c9
mov ecx, dword [esp + 0x20]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], eax
jle 0x5068ae
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 0x5063c6
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 0x506417
cmp edx, 1
jge 0x50641b
mov dword [esp + 0x6c], eax
mov ebp, eax
sub ebp, esi
cmp ecx, 1
mov dword [esp + 0x70], ebp
jge 0x50642c
mov dword [esp + 0x70], eax
mov ebp, edi
sub ebp, esi
add ebp, eax
cmp ecx, 1
mov dword [esp + 0x74], ebp
jl 0x506447
mov ebp, dword [esp + 0x24]
mov ebp, dword [ebp + 0x18]
dec ebp
cmp edx, ebp
jl 0x50644b
mov dword [esp + 0x74], eax
lea ebp, [edi + edi]
sub ebp, esi
add ebp, eax
cmp ecx, 1
mov dword [esp + 0x78], ebp
jl 0x506469
mov ebp, dword [esp + 0x24]
mov ebp, dword [ebp + 0x18]
sub ebp, 2
cmp edx, ebp
jl 0x50646d
mov dword [esp + 0x78], eax
cmp edx, 1
mov dword [esp + 0x7c], ebx
jge 0x50647a
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 0x5064a4
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 0x5064c0
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 0x5064e2
cmp edx, 1
jge 0x5064e9
mov dword [esp + 0x8c], eax
lea ebp, [esi + eax]
cmp ecx, ebx
mov dword [esp + 0x90], ebp
jl 0x5064fe
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 0x506518
cmp edx, dword [esp + 0x10]
jl 0x50651f
mov dword [esp + 0x94], eax
lea ebp, [esi + edi*2]
add ebp, eax
cmp ecx, ebx
mov dword [esp + 0x98], ebp
jge 0x506535
cmp edx, dword [esp + 0x14]
jl 0x50653c
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 0x50655b
cmp edx, 1
jge 0x506562
mov dword [esp + 0x9c], eax
lea ebp, [esi + eax]
cmp ecx, ebx
mov dword [esp + 0xa0], ebp
jl 0x506577
mov dword [esp + 0xa0], eax
add esi, edi
add esi, eax
cmp ecx, ebx
mov dword [esp + 0xa4], esi
jge 0x50658c
cmp edx, dword [esp + 0x10]
jl 0x506593
mov dword [esp + 0xa4], eax
mov esi, dword [esp + 0x1c]
cmp ecx, ebx
lea esi, [eax + esi*2]
mov dword [esp + 0xa8], esi
jge 0x5065ab
cmp edx, dword [esp + 0x14]
jl 0x5065b2
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 0x5065f9
mov eax, edx
imul eax, edx
sar eax, 8
imul eax, edx
sar eax, 8
xor edx, edx
test esi, esi
jle 0x50660d
mov edx, esi
imul edx, esi
sar edx, 8
imul edx, esi
sar edx, 8
xor esi, esi
test ecx, ecx
jle 0x506621
mov esi, ecx
imul esi, ecx
sar esi, 8
imul esi, ecx
sar esi, 8
xor ecx, ecx
test edi, edi
jle 0x506635
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 0x50669d
mov eax, edx
imul eax, edx
sar eax, 8
imul eax, edx
sar eax, 8
xor edx, edx
test esi, esi
jle 0x5066b1
mov edx, esi
imul edx, esi
sar edx, 8
imul edx, esi
sar edx, 8
xor esi, esi
test ecx, ecx
jle 0x5066c5
mov esi, ecx
imul esi, ecx
sar esi, 8
imul esi, ecx
sar esi, 8
xor ecx, ecx
test edi, edi
jle 0x5066d9
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 0x50666f
mov ecx, dword [esp + 0x2c]
add ecx, 0x100
cmp ecx, 0x300
mov dword [esp + 0x2c], ecx
jl 0x5065cd
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 0x5067cc
test eax, 0xffff0000
jge 0x5067c4
xor bl, bl
jmp 0x5067d6
cmp ecx, 0xff0000
jle 0x5067d1
or bl, 0xff
jmp 0x5067d6
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 0x506809
test eax, 0xffff0000
jge 0x506801
xor al, al
jmp 0x506810
cmp ecx, 0xff0000
jle 0x50680d
or al, 0xff
jmp 0x506810
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 0x506847
test ecx, 0xffff0000
jge 0x50683f
mov byte [esp + 0x38], 0
jmp 0x506855
cmp edx, 0xff0000
jle 0x50684e
mov byte [esp + 0x38], 0xff
jmp 0x506855
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 0x5063c2
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 0x506385
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.0053338e
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