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

Disassembly:
sub esp, 0x60
push ebx
push esi
mov esi, dword [esp + 0x88]
push edi
mov ecx, esi
call fcn.0043c080
mov ecx, dword [0x4aeab8]
call fcn.0043c080
movzx edi, word [esi + 0xc4]
mov eax, dword [esp + 0xa8]
cdq
idiv edi
movsx ecx, word [esi + 2]
mov ebx, dword [esi + 0xdc]
mov eax, edx
movzx edx, word [esi + 0xd0]
imul eax, edx
cdq
idiv edi
xor edx, edx
imul eax, ecx
cmp ebx, edx
je 0x43fd90
movsx edi, word [esi]
imul edi, eax
add edi, ebx
mov dword [0x4aea4c], edi
mov ebx, dword [esi + 0xd8]
cmp ebx, edx
je 0x43fdac
movzx edi, word [esi + 0xce]
imul edi, eax
add edi, ebx
mov dword [0x4aea48], edi
movsx esi, word [esi]
lea eax, [ecx - 1]
imul eax, esi
lea edi, [esi - 1]
mov dword [0x4aea5c], eax
or eax, edi
not eax
mov ebx, edi
mov dword [0x4aea64], eax
mov eax, dword [0x4aeab8]
not ebx
mov dword [0x4aea50], esi
mov dword [0x4aea54], ecx
mov dword [0x4aea58], edi
mov dword [0x4aea60], ebx
mov eax, dword [eax + 0xd8]
mov dword [0x4aea44], eax
fld dword [esp + 0x74]
fistp dword [esp + 0x14]
fld dword [esp + 0x7c]
fistp dword [esp + 0xc]
fld dword [esp + 0x84]
fistp dword [esp + 0x8c]
fld dword [esp + 0x78]
fistp dword [esp + 0x18]
fld dword [esp + 0x80]
fistp dword [esp + 0x10]
fld dword [esp + 0x88]
fistp dword [esp + 0xa8]
fld dword [esp + 0x78]
fst qword [esp + 0x64]
fld dword [esp + 0x80]
fst qword [esp + 0x5c]
fsubr st(1)
fld dword [esp + 0x74]
fld dword [esp + 0x84]
fsubr st(1)
fst qword [esp + 0x2c]
fmul st(2)
fst qword [esp + 0x44]
fld dword [esp + 0x7c]
fsubr st(2)
fst qword [esp + 0x24]
fld dword [esp + 0x88]
fst qword [esp + 0x34]
fsubr st(5)
fst qword [esp + 0x54]
fld st(0)
fmulp st(2)
fxch st(1)
fst qword [esp + 0x3c]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fstp dword [esp + 0x78]
fld dword [0x4855b4]
fld dword [esp + 0x78]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x440e0f
fabs
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43fec6
fst dword [esp + 0x78]
fld dword [esp + 0x90]
fld dword [esp + 0xa0]
fsubr st(1)
fstp qword [esp + 0x1c]
fld dword [esp + 0x98]
fsubr st(1)
fst qword [esp + 0x4c]
fld qword [esp + 0x1c]
fmul st(6)
fxch st(1)
fmulp st(4)
fsubrp st(3)
fld dword [esp + 0x78]
fdivp st(3)
fxch st(2)
fstp dword [0x4aea14]
fld qword [esp + 0x3c]
fsub qword [esp + 0x44]
fstp dword [esp + 0x74]
fld dword [esp + 0x74]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fabs
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43ff36
fst dword [esp + 0x78]
fld qword [esp + 0x1c]
fmul qword [esp + 0x24]
fld qword [esp + 0x4c]
fmul qword [esp + 0x2c]
fsubp st(1)
fdiv dword [esp + 0x78]
fstp dword [0x4aea18]
fld dword [0x4aea14]
fld st(0)
fmul st(4)
fsubp st(3)
fld dword [0x4aea18]
fmul st(6)
fsubp st(3)
fxch st(2)
fstp dword [0x4aea1c]
fld dword [esp + 0x80]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fabs
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x43ff9c
fst dword [esp + 0x78]
fld dword [esp + 0x94]
fld dword [esp + 0xa4]
fsubr st(1)
fstp qword [esp + 0x1c]
fld dword [esp + 0x9c]
fsubr st(1)
fld qword [esp + 0x1c]
fmulp st(6)
fld qword [esp + 0x54]
fmul st(1)
fsubp st(6)
fld dword [esp + 0x78]
fdivp st(6)
fxch st(5)
fstp dword [0x4aea20]
fld dword [esp + 0x74]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fabs
fstp dword [esp + 0x80]
fld dword [esp + 0x80]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x440002
fxch st(1)
fstp dword [esp + 0x78]
jmp 0x440004
fstp st(1)
fld qword [esp + 0x1c]
mov eax, esi
fmul qword [esp + 0x24]
shl eax, 0xa
fxch st(4)
push ebp
fmul qword [esp + 0x30]
fsubp st(4)
fld dword [esp + 0x7c]
mov dword [esp + 0x7c], eax
fdivp st(4)
fxch st(3)
fstp dword [0x4aea24]
fld dword [0x4aea20]
fmulp st(2)
fxch st(2)
fsubrp st(1)
fld dword [0x4aea24]
fmulp st(3)
fsubrp st(2)
fxch st(1)
fstp dword [0x4aea28]
fild dword [esp + 0x7c]
fst qword [esp + 0x30]
fmulp st(1)
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fistp dword [esp + 0x7c]
fld dword [0x4aea18]
mov eax, dword [esp + 0x7c]
fmul qword [esp + 0x30]
mov dword [0x4aea2c], eax
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fistp dword [esp + 0x7c]
fld dword [0x4aea1c]
mov eax, dword [esp + 0x7c]
fmul qword [esp + 0x30]
mov dword [0x4aea30], eax
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fistp dword [esp + 0x7c]
imul ecx, esi
mov eax, dword [esp + 0x7c]
shl ecx, 0xa
mov dword [esp + 0x7c], ecx
mov dword [0x4aea34], eax
fild dword [esp + 0x7c]
fst qword [esp + 0x30]
fmul dword [0x4aea20]
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fistp dword [esp + 0x7c]
fld dword [0x4aea24]
mov ecx, dword [esp + 0x7c]
fmul qword [esp + 0x30]
mov dword [0x4aea38], ecx
fstp dword [esp + 0x84]
fld dword [esp + 0x84]
fistp dword [esp + 0x7c]
fld dword [0x4aea28]
mov eax, dword [esp + 0x7c]
fmul qword [esp + 0x30]
mov dword [0x4aea3c], eax
fstp dword [esp + 0x7c]
fld dword [esp + 0x7c]
fistp dword [esp + 0x84]
fld qword [esp + 0x60]
mov ecx, dword [esp + 0x84]
fld qword [esp + 0x68]
mov dword [0x4aea40], ecx
fcom st(1)
mov esi, 1
fnstsw ax
fld qword [esp + 0x38]
test ah, 0x41
jp 0x4401e9
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x44018a
mov esi, dword [esp + 0xac]
fstp st(0)
mov ecx, dword [esp + 0x18]
fstp st(0)
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [0x4aea70], esi
mov dword [esp + 0x78], edx
jmp 0x440271
mov ebx, dword [esp + 0x10]
fcompp
fnstsw ax
test ah, 0x41
jp 0x4401c0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0xac]
mov dword [0x4aea70], edx
mov dword [esp + 0x78], esi
jmp 0x440279
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0xac]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [0x4aea70], esi
mov dword [esp + 0x78], edx
jmp 0x440279
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 1
jne 0x440222
mov edx, dword [esp + 0xac]
fstp st(1)
mov ecx, dword [esp + 0x10]
fstp st(0)
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [0x4aea70], edx
mov dword [esp + 0x78], esi
jmp 0x440279
mov ebx, dword [esp + 0x18]
fcompp
fnstsw ax
test ah, 1
jne 0x440255
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0xac]
mov dword [0x4aea70], esi
mov dword [esp + 0x78], edx
jmp 0x440279
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0xac]
mov dword [0x4aea70], edx
mov dword [esp + 0x78], esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov esi, dword [0x4aeab8]
shl ecx, 0xa
shl edi, 0xa
shl ebx, 0xa
mov dword [0x4aeaa0], ebx
mov dword [0x4aea6c], eax
mov dword [0x4aea9c], edi
mov dword [0x4aea68], ebp
mov dword [0x4aea98], ecx
movsx edx, word [esi + 0xcc]
mov dword [esp + 0x90], edx
movsx edx, word [esi + 0xc8]
mov dword [esp + 0x8c], edx
mov edx, dword [0x4aea70]
sub edx, ebp
mov dword [esp + 0x88], edx
mov edx, eax
sub edx, ebp
mov dword [esp + 0x80], edx
mov edx, dword [0x4aea70]
sub edx, eax
cmp dword [esp + 0x88], 0
mov dword [esp + 0x7c], edx
je 0x44030b
mov eax, ebx
sub eax, ecx
cdq
idiv dword [esp + 0x88]
mov edx, dword [esp + 0x7c]
mov dword [0x4aeaa4], eax
mov eax, dword [0x4aea6c]
cmp dword [esp + 0x80], 0
je 0x440335
mov eax, edi
sub eax, ecx
cdq
idiv dword [esp + 0x80]
mov ebp, dword [0x4aea68]
mov edx, dword [esp + 0x7c]
mov dword [0x4aeaa8], eax
mov eax, dword [0x4aea6c]
test edx, edx
je 0x44034c
mov eax, ebx
sub eax, edi
cdq
idiv dword [esp + 0x7c]
mov dword [0x4aeaac], eax
mov eax, dword [0x4aea6c]
mov ebx, dword [esp + 0x8c]
cmp ebp, ebx
mov edx, dword [0x4aeaa8]
mov dword [0x4aea84], ecx
mov dword [0x4aea80], ecx
mov dword [0x4aea88], edi
mov dword [0x4aea90], edx
jge 0x4403a1
mov edx, ebx
sub edx, ebp
mov ebp, edx
imul edx, dword [0x4aeaa8]
imul ebp, dword [0x4aeaa4]
add ebp, ecx
add edx, ecx
mov dword [0x4aea80], ebp
mov dword [0x4aea84], edx
mov ebp, ebx
mov dword [0x4aea68], ebx
cmp eax, ebx
mov dword [0x4aea74], ebp
jge 0x4403c6
mov ecx, ebx
sub ecx, eax
imul ecx, dword [0x4aeaac]
add ecx, edi
mov dword [0x4aea88], ecx
mov dword [0x4aea7c], ebx
jmp 0x4403cb
mov dword [0x4aea7c], eax
mov ecx, dword [esp + 0x90]
cmp eax, ecx
jle 0x4403dc
mov dword [0x4aea7c], ecx
mov eax, dword [0x4aea70]
cmp eax, ebx
jge 0x4403ec
mov eax, ebx
mov dword [0x4aea70], eax
cmp eax, ecx
jg 0x4403f2
mov ecx, eax
mov edx, dword [0x4aea34]
mov eax, ebp
imul eax, dword [0x4aea30]
lea eax, [eax + edx + 0x200]
mov edx, ebp
imul edx, dword [0x4aea3c]
add edx, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
mov eax, dword [0x4aea50]
shl eax, 9
add eax, edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x74]
mov byte [esp + 0x89], 2
mov byte [esp + 0x88], 1
mov byte [esp + 0x8a], 1
mov byte [esp + 0x8b], 1
cmp eax, dword [esp + 0x88]
mov dword [0x4aea78], ecx
jne 0x4406f7
cmp ebp, ecx
jge 0x440e07
mov ebx, dword [0x4aea38]
jmp 0x44047a
mov ebp, dword [0x4aea74]
cmp ebp, dword [0x4aea7c]
jge 0x4406c3
jmp 0x440490
mov edi, dword [0x4aea80]
mov eax, dword [0x4aea84]
sar eax, 0xa
sar edi, 0xa
cmp dword [esp + 0x78], 0
mov dword [esp + 0x88], eax
je 0x440594
movsx ecx, word [esi + 0xca]
cmp edi, ecx
jl 0x4404c1
lea edi, [ecx - 1]
movsx ecx, word [esi + 0xc6]
cmp eax, ecx
jge 0x4404d3
mov dword [esp + 0x88], ecx
movzx ecx, word [esi + 0xce]
imul ecx, dword [0x4aea74]
mov eax, dword [0x4aea2c]
add ecx, dword [0x4aea44]
mov dword [esp + 0x80], eax
imul eax, edi
add eax, dword [esp + 0x7c]
mov edx, ebx
imul edx, edi
add edx, dword [esp + 0x84]
lea ebp, [ecx + edi*2]
mov edi, dword [esp + 0x88]
lea ecx, [ecx + edi*2]
cmp ebp, ecx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], 0
jb 0x44067b
lea ecx, [ecx]
mov edi, eax
mov esi, edx
sar edi, 0xa
sar esi, 0xa
test dword [0x4aea60], edi
jne 0x44057a
mov ebx, dword [0x4aea64]
test ebx, esi
jne 0x44057a
and esi, dword [0x4aea5c]
and edi, dword [0x4aea58]
add esi, edi
mov edi, dword [0x4aea48]
mov si, word [edi + esi*2]
mov word [esp + 0x88], si
cmp dword [esp + 0x88], 0
je 0x44057a
mov word [ebp], si
sub eax, dword [esp + 0x80]
sub edx, dword [esp + 0x8c]
sub ebp, 2
cmp ebp, ecx
jae 0x440530
jmp 0x44066f
movsx ecx, word [esi + 0xc6]
cmp edi, ecx
jge 0x4405a1
mov edi, ecx
movsx ecx, word [esi + 0xca]
cmp eax, ecx
jl 0x4405b6
add ecx, 0xffffffff
mov dword [esp + 0x88], ecx
movzx ecx, word [esi + 0xce]
imul ecx, dword [0x4aea74]
mov eax, dword [0x4aea2c]
add ecx, dword [0x4aea44]
mov dword [esp + 0x80], eax
imul eax, edi
add eax, dword [esp + 0x7c]
mov edx, ebx
imul edx, edi
add edx, dword [esp + 0x84]
lea ebp, [ecx + edi*2]
mov edi, dword [esp + 0x88]
lea ecx, [ecx + edi*2]
cmp ebp, ecx
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], 0
jae 0x44067b
lea esp, [esp]
mov edi, eax
mov esi, edx
sar edi, 0xa
sar esi, 0xa
test dword [0x4aea60], edi
jne 0x44065a
mov ebx, dword [0x4aea64]
test ebx, esi
jne 0x44065a
and esi, dword [0x4aea5c]
and edi, dword [0x4aea58]
add esi, edi
mov edi, dword [0x4aea48]
mov si, word [edi + esi*2]
mov word [esp + 0x88], si
cmp dword [esp + 0x88], 0
je 0x44065a
mov word [ebp], si
add eax, dword [esp + 0x80]
add edx, dword [esp + 0x8c]
add ebp, 2
cmp ebp, ecx
jb 0x440610
mov ebx, dword [0x4aea38]
mov esi, dword [0x4aeab8]
mov ecx, dword [0x4aeaa4]
mov edx, dword [0x4aea90]
mov eax, dword [0x4aea74]
add dword [0x4aea80], ecx
add dword [0x4aea84], edx
mov ecx, dword [0x4aea30]
mov edx, dword [0x4aea3c]
add dword [esp + 0x7c], ecx
add dword [esp + 0x84], edx
add eax, 1
cmp eax, dword [0x4aea7c]
mov dword [0x4aea74], eax
jl 0x440490
mov eax, dword [0x4aeaac]
mov ecx, dword [0x4aea88]
mov dword [0x4aea90], eax
mov eax, dword [0x4aea78]
cmp dword [0x4aea74], eax
mov dword [0x4aea84], ecx
mov dword [0x4aea7c], eax
jl 0x440474
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret
mov byte [esp + 0x89], 2
mov byte [esp + 0x88], 1
mov byte [esp + 0x8a], 1
mov byte [esp + 0x8b], 0x1f
cmp eax, dword [esp + 0x88]
jne 0x4409ca
cmp ebp, ecx
jge 0x440e07
mov ebx, dword [0x4aea38]
jmp 0x44073a
mov ebp, dword [0x4aea74]
cmp ebp, dword [0x4aea7c]
jge 0x440996
jmp 0x440750
mov eax, dword [0x4aea80]
mov ecx, dword [0x4aea84]
sar ecx, 0xa
sar eax, 0xa
cmp dword [esp + 0x78], 0
mov dword [esp + 0x88], ecx
je 0x44085c
movsx edx, word [esi + 0xca]
cmp eax, edx
jl 0x440781
lea eax, [edx - 1]
movsx edx, word [esi + 0xc6]
cmp ecx, edx
jge 0x440793
mov dword [esp + 0x88], edx
mov ecx, dword [0x4aea2c]
mov dword [esp + 0x80], ecx
mov edx, eax
imul edx, ecx
movzx ecx, word [esi + 0xce]
imul ecx, dword [0x4aea74]
add ecx, dword [0x4aea44]
add edx, dword [esp + 0x7c]
mov edi, eax
imul edi, ebx
add edi, dword [esp + 0x84]
lea ebp, [ecx + eax*2]
mov eax, dword [esp + 0x88]
lea ecx, [ecx + eax*2]
cmp ebp, ecx
mov dword [esp + 0x8c], ebx
jb 0x44094e
mov esi, edx
mov eax, edi
sar esi, 0xa
sar eax, 0xa
test dword [0x4aea60], esi
jne 0x440842
mov ebx, dword [0x4aea64]
test ebx, eax
jne 0x440842
and eax, dword [0x4aea5c]
and esi, dword [0x4aea58]
add eax, esi
mov esi, dword [0x4aea48]
movzx eax, word [esi + eax*2]
test eax, eax
je 0x440842
movzx esi, word [ebp]
and eax, 0xf7df
and esi, 0xf7df
add esi, eax
mov eax, esi
and eax, 0x10820
mov ebx, eax
shr ebx, 5
sub eax, ebx
or eax, esi
mov word [ebp], ax
sub edx, dword [esp + 0x80]
sub edi, dword [esp + 0x8c]
sub ebp, 2
cmp ebp, ecx
jae 0x4407e5
jmp 0x440942
movsx edx, word [esi + 0xc6]
cmp eax, edx
jge 0x440869
mov eax, edx
movsx edx, word [esi + 0xca]
cmp ecx, edx
jl 0x44087e
add edx, 0xffffffff
mov dword [esp + 0x88], edx
mov ecx, dword [0x4aea2c]
mov dword [esp + 0x80], ecx
mov edx, eax
imul edx, ecx
movzx ecx, word [esi + 0xce]
imul ecx, dword [0x4aea74]
add ecx, dword [0x4aea44]
add edx, dword [esp + 0x7c]
mov edi, eax
imul edi, ebx
add edi, dword [esp + 0x84]
lea ebp, [ecx + eax*2]
mov eax, dword [esp + 0x88]
lea ecx, [ecx + eax*2]
cmp ebp, ecx
mov dword [esp + 0x8c], ebx
jae 0x44094e
mov esi, edx
mov eax, edi
sar esi, 0xa
sar eax, 0xa
test dword [0x4aea60], esi
jne 0x44092d
mov ebx, dword [0x4aea64]
test ebx, eax
jne 0x44092d
and eax, dword [0x4aea5c]
and esi, dword [0x4aea58]
add eax, esi
mov esi, dword [0x4aea48]
movzx eax, word [esi + eax*2]
test eax, eax
je 0x44092d
movzx esi, word [ebp]
and eax, 0xf7df
and esi, 0xf7df
add esi, eax
mov eax, esi
and eax, 0x10820
mov ebx, eax
shr ebx, 5
sub eax, ebx
or eax, esi
mov word [ebp], ax
add edx, dword [esp + 0x80]
add edi, dword [esp + 0x8c]
add ebp, 2
cmp ebp, ecx
jb 0x4408d0
mov ebx, dword [0x4aea38]
mov esi, dword [0x4aeab8]
mov ecx, dword [0x4aeaa4]
mov edx, dword [0x4aea90]
mov eax, dword [0x4aea74]
add dword [0x4aea80], ecx
add dword [0x4aea84], edx
mov ecx, dword [0x4aea30]
mov edx, dword [0x4aea3c]
add dword [esp + 0x7c], ecx
add dword [esp + 0x84], edx
add eax, 1
cmp eax, dword [0x4aea7c]
mov dword [0x4aea74], eax
jl 0x440750
mov eax, dword [0x4aeaac]
mov ecx, dword [0x4aea88]
mov dword [0x4aea90], eax
mov eax, dword [0x4aea78]
cmp dword [0x4aea74], eax
mov dword [0x4aea84], ecx
mov dword [0x4aea7c], eax
jl 0x440734
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret
mov byte [esp + 0x89], 2
mov byte [esp + 0x88], 2
mov byte [esp + 0x8a], 1
mov byte [esp + 0x8b], 0x1e
cmp eax, dword [esp + 0x88]
jne 0x440e07
cmp ebp, ecx
jge 0x440e07
mov ebx, dword [0x4aea38]
jmp 0x440a10
mov edx, dword [0x4aea74]
cmp edx, dword [0x4aea7c]
jge 0x440ddb
cmp dword [esp + 0x78], 0
je 0x440bd8
mov edx, dword [0x4aea80]
movsx eax, word [esi + 0xca]
mov ebp, dword [0x4aea84]
sar edx, 0xa
sar ebp, 0xa
cmp edx, eax
jl 0x440a4d
lea edx, [eax - 1]
movsx eax, word [esi + 0xc6]
cmp ebp, eax
jge 0x440a5a
mov ebp, eax
mov ecx, dword [0x4aea2c]
mov dword [esp + 0x1c], ecx
mov eax, edx
imul eax, ecx
movzx ecx, word [esi + 0xce]
imul ecx, dword [0x4aea74]
add ecx, dword [0x4aea44]
add eax, dword [esp + 0x7c]
mov edi, edx
imul edi, ebx
add edi, dword [esp + 0x84]
lea edx, [ecx + edx*2]
lea ecx, [ecx + ebp*2]
xor ebp, ebp
cmp edx, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xac], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x88], ebp
jb 0x440d93
lea ebx, [ebx]
mov ecx, eax
mov esi, edi
sar ecx, 0xa
sar esi, 0xa
mov ebx, esi
and ebx, dword [0x4aea5c]
mov ebp, ecx
and ebp, dword [0x4aea58]
add ebp, ebx
test dword [0x4aea60], ecx
mov ebx, dword [0x4aea4c]
movzx ebx, byte [ebx + ebp]
mov dword [esp + 0x90], ebx
jne 0x440bb7
test dword [0x4aea64], esi
jne 0x440bb7
cmp ebx, 7
jle 0x440bb7
cmp ebx, 0xf8
mov ecx, dword [0x4aea48]
mov bp, word [ecx + ebp*2]
mov word [esp + 0x80], bp
jge 0x440bb4
mov dx, word [edx]
mov word [esp + 0x88], dx
mov ecx, dword [esp + 0x88]
mov edx, ecx
mov esi, ecx
and ecx, 0x1f
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x80]
and esi, 0x7e0
mov ebp, ecx
and ebp, 0x7e0
sub ebp, esi
imul ebp, ebx
sar ebp, 8
and ebp, 0x7e0
add ebp, esi
mov esi, ecx
and esi, 0x1f
sub esi, dword [esp + 0x8c]
and ecx, 0xf800
and edx, 0xf800
imul esi, ebx
sub ecx, edx
imul ecx, ebx
sar esi, 8
and esi, 0x1f
add esi, dword [esp + 0x8c]
sar ecx, 8
and ecx, 0xf800
add ecx, edx
mov edx, dword [esp + 0xac]
or ebp, esi
or ebp, ecx
mov word [edx], bp
sub eax, dword [esp + 0x1c]
sub edi, dword [esp + 0x18]
sub edx, 2
cmp edx, dword [esp + 0x14]
mov dword [esp + 0xac], edx
jae 0x440ac0
jmp 0x440d87
mov eax, dword [0x4aea80]
movsx ecx, word [esi + 0xc6]
mov edx, dword [0x4aea84]
sar eax, 0xa
sar edx, 0xa
cmp eax, ecx
jge 0x440bf6
mov eax, ecx
movsx ecx, word [esi + 0xca]
add ecx, 0xffffffff
cmp edx, ecx
jl 0x440c06
mov edx, ecx
mov ecx, dword [0x4aea2c]
mov dword [esp + 0x1c], ecx
mov edi, eax
imul edi, ecx
movzx ecx, word [esi + 0xce]
imul ecx, dword [0x4aea74]
add ecx, dword [0x4aea44]
add edi, dword [esp + 0x7c]
mov ebp, eax
imul ebp, ebx
add ebp, dword [esp + 0x84]
lea eax, [ecx + eax*2]
lea ecx, [ecx + edx*2]
xor edx, edx
cmp eax, ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0xac], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], edx
jae 0x440d93
mov ecx, edi
mov esi, ebp
sar ecx, 0xa
sar esi, 0xa
mov edx, esi
and edx, dword [0x4aea5c]
mov ebx, ecx
and ebx, dword [0x4aea58]
add edx, ebx
test dword [0x4aea60], ecx
mov ebx, dword [0x4aea4c]
movzx ebx, byte [edx + ebx]
mov dword [esp + 0x90], ebx
jne 0x440d6b
test dword [0x4aea64], esi
jne 0x440d6b
cmp ebx, 7
jle 0x440d6b
cmp ebx, 0xf8
mov ecx, dword [0x4aea48]
mov dx, word [ecx + edx*2]
mov word [esp + 0x80], dx
jl 0x440cd6
mov word [eax], dx
jmp 0x440d6b
mov dx, word [eax]
mov word [esp + 0x88], dx
mov ecx, dword [esp + 0x88]
mov edx, ecx
mov esi, ecx
and ecx, 0x1f
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x80]
and esi, 0x7e0
mov eax, ecx
and eax, 0x7e0
sub eax, esi
imul eax, ebx
sar eax, 8
and eax, 0x7e0
add eax, esi
mov esi, ecx
and esi, 0x1f
sub esi, dword [esp + 0x8c]
and ecx, 0xf800
imul esi, dword [esp + 0x90]
and edx, 0xf800
sub ecx, edx
imul ecx, dword [esp + 0x90]
sar esi, 8
sar ecx, 8
and esi, 0x1f
add esi, dword [esp + 0x8c]
and ecx, 0xf800
or eax, esi
add ecx, edx
or eax, ecx
mov ecx, eax
mov eax, dword [esp + 0xac]
mov word [eax], cx
add edi, dword [esp + 0x1c]
add ebp, dword [esp + 0x18]
add eax, 2
cmp eax, dword [esp + 0x14]
mov dword [esp + 0xac], eax
jb 0x440c66
mov ebx, dword [0x4aea38]
mov esi, dword [0x4aeab8]
mov ecx, dword [0x4aeaa4]
mov edx, dword [0x4aea90]
mov eax, dword [0x4aea74]
add dword [0x4aea80], ecx
add dword [0x4aea84], edx
mov ecx, dword [0x4aea30]
mov edx, dword [0x4aea3c]
add dword [esp + 0x7c], ecx
add dword [esp + 0x84], edx
add eax, 1
cmp eax, dword [0x4aea7c]
mov dword [0x4aea74], eax
jl 0x440a22
mov eax, dword [0x4aeaac]
mov ecx, dword [0x4aea88]
mov dword [0x4aea90], eax
mov eax, dword [0x4aea78]
cmp dword [0x4aea74], eax
mov dword [0x4aea84], ecx
mov dword [0x4aea7c], eax
jl 0x440a10
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x60
ret
fstp st(0)
pop edi
fstp st(0)
pop esi
fstp st(3)
pop ebx
fstp st(0)
fstp st(0)
fstp st(0)
add esp, 0x60
ret