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

Disassembly:
mov edx, dword [0x4a0084]
sub esp, 0x70
test edx, edx
je 0x42d6fc
mov ecx, dword [0x4a0088]
mov eax, ecx
sub eax, edx
sar eax, 3
jne 0x42d702
xor eax, eax
add esp, 0x70
ret
cmp edx, ecx
push esi
mov esi, ecx
jbe 0x42d71a
call fcn.0047770d
mov ecx, dword [0x4a0088]
mov edx, dword [0x4a0084]
mov eax, 0x4a0080
push edi
mov edi, eax
lea eax, [esi - 8]
cmp eax, ecx
mov dword [esp + 0x50], esi
ja 0x42d731
cmp eax, edx
jae 0x42d736
call fcn.0047770d
lea eax, [esi - 8]
cmp eax, dword [edi + 8]
jb 0x42d743
call fcn.0047770d
push ebx
push ebp
lea ecx, [esp + 0x84]
push ecx
mov ecx, 0x4a0080
call fcn.00403f00
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [0x4a0064], 0
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x18], eax
jne 0x42d7c1
mov edx, eax
sub edx, dword [0x4a0068]
cmp edx, dword [esp + 0x94]
jbe 0x42d7c1
mov esi, dword [0x4a0084]
test esi, esi
mov dword [0x4a0068], eax
jne 0x42d79c
xor eax, eax
jmp 0x42d7a6
mov eax, dword [0x4a0088]
sub eax, esi
sar eax, 3
add eax, 0xffffffff
cmp dword [esp + 0x8c], 0
mov dword [0x4a006c], eax
jne 0x42d814
mov byte [0x4a0064], 1
jmp 0x42d814
mov esi, dword [0x4a0084]
test esi, esi
mov ebx, dword [0x4a006c]
je 0x42d7df
mov eax, dword [0x4a0088]
sub eax, esi
sar eax, 3
cmp ebx, eax
jb 0x42d7ea
call fcn.0047770d
mov esi, dword [0x4a0084]
mov ecx, dword [esi + ebx*8]
mov edx, dword [esi + ebx*8 + 4]
mov eax, ebp
sub eax, ecx
mov ecx, edi
sub ecx, edx
mov edx, ecx
imul edx, ecx
mov ecx, eax
imul ecx, eax
add edx, ecx
cmp edx, 0x10
jle 0x42d814
mov edx, dword [esp + 0x18]
mov dword [0x4a0068], edx
test esi, esi
mov ebx, dword [0x4a006c]
je 0x42d82c
mov eax, dword [0x4a0088]
sub eax, esi
sar eax, 3
cmp ebx, eax
jb 0x42d837
call fcn.0047770d
mov esi, dword [0x4a0084]
mov eax, dword [esi + ebx*8]
mov edx, dword [esi + ebx*8 + 4]
sub ebp, eax
mov eax, dword [esp + 0x90]
sub edi, edx
mov edx, eax
imul edx, eax
mov ecx, ebp
mov eax, edi
mov ebx, ecx
imul eax, edi
imul ebx, ecx
add eax, ebx
cmp eax, edx
mov dword [esp + 0x18], edx
jle 0x42ddd3
mov eax, dword [0x4a0094]
test eax, eax
je 0x42d892
mov edx, dword [0x4a0098]
sub edx, eax
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 8
jae 0x42ddd3
cmp byte [0x4a0064], 0
je 0x42d8ba
mov ebx, dword [0x4a006c]
push edi
push ecx
mov byte [0x4a0064], 0
call fcn.0042b900
mov ebp, dword [0x4a0088]
jmp 0x42dd4c
fldz
fstp qword [esp + 0x60]
fld1
call fcn.004795f0
fmul qword [0x48bfe0]
mov ecx, 0x4a0090
fst qword [esp + 0x4c]
fld qword [0x48b848]
fmul st(1)
fstp qword [esp + 0x68]
fst qword [esp + 0x70]
fmul qword [0x48c238]
fstp qword [esp + 0x78]
call fcn.0042c440
mov ecx, dword [eax + 8]
fld qword [esp + ecx*8 + 0x60]
mov esi, dword [0x4a006c]
fstp qword [esp + 0x3c]
mov ecx, 0x4a0080
fldz
mov dword [esp + 0x14], esi
fstp qword [esp + 0x34]
mov dword [esp + 0x10], esi
call fcn.0042be40
mov ebp, dword [0x4a0088]
sub eax, 1
cmp esi, eax
mov esi, dword [0x4a0084]
jge 0x42dbf1
jmp 0x42d940
mov edi, dword [esp + 0x10]
xor eax, eax
cmp edi, dword [0x4a006c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
je 0x42da30
lea ebx, [ebx]
test esi, esi
je 0x42d96f
mov eax, ebp
sub eax, esi
sar eax, 3
cmp edi, eax
jb 0x42d980
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
test esi, esi
lea ebx, [esi + edi*8]
je 0x42d995
mov eax, ebp
sub eax, esi
sar eax, 3
lea edx, [edi - 1]
cmp edx, eax
jb 0x42d9a6
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
mov eax, dword [ebx]
sub eax, dword [esi + edi*8 - 8]
add dword [esp + 0x1c], eax
test esi, esi
je 0x42d9bf
mov eax, ebp
sub eax, esi
sar eax, 3
cmp edi, eax
jb 0x42d9d0
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
test esi, esi
lea ebx, [esi + edi*8]
je 0x42d9e5
mov eax, ebp
sub eax, esi
sar eax, 3
lea ecx, [edi - 1]
cmp ecx, eax
jb 0x42d9f6
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
mov edx, dword [ebx + 4]
sub edx, dword [esi + edi*8 - 4]
mov eax, dword [esp + 0x20]
add eax, edx
mov ecx, eax
imul ecx, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
mov edx, eax
imul edx, eax
add ecx, edx
cmp ecx, dword [esp + 0x18]
jg 0x42da36
sub edi, 1
cmp edi, dword [0x4a006c]
jne 0x42d960
mov edi, dword [esp + 0x10]
fld qword [esp + 0x3c]
jmp 0x42da47
fild dword [esp + 0x20]
fild dword [esp + 0x1c]
call fcn.004796da
mov edi, dword [esp + 0x10]
xor eax, eax
fstp qword [esp + 0x44]
mov ecx, 0x4a0080
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
call fcn.0042be40
sub eax, 1
cmp edi, eax
je 0x42dbf1
lea ebx, [ebx]
test esi, esi
je 0x42da82
mov eax, ebp
sub eax, esi
sar eax, 3
lea ecx, [edi + 1]
cmp ecx, eax
jb 0x42da93
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
test esi, esi
lea ebx, [esi + edi*8 + 8]
je 0x42daa6
mov eax, ebp
sub eax, esi
sar eax, 3
cmp edi, eax
jb 0x42dab7
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
mov edx, dword [ebx]
sub edx, dword [esi + edi*8]
add dword [esp + 0x24], edx
test esi, esi
je 0x42dad2
mov eax, ebp
sub eax, esi
sar eax, 3
lea ecx, [edi + 1]
cmp ecx, eax
jb 0x42dae3
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
test esi, esi
lea ebx, [esi + edi*8 + 8]
je 0x42daf6
mov eax, ebp
sub eax, esi
sar eax, 3
cmp edi, eax
jb 0x42db07
call fcn.0047770d
mov ebp, dword [0x4a0088]
mov esi, dword [0x4a0084]
mov edx, dword [ebx + 4]
sub edx, dword [esi + edi*8 + 4]
mov eax, dword [esp + 0x28]
add eax, edx
mov ecx, eax
imul ecx, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov edx, eax
imul edx, eax
add ecx, edx
cmp ecx, dword [esp + 0x18]
jg 0x42db4b
mov ecx, 0x4a0080
add edi, 1
call fcn.0042be40
sub eax, 1
cmp edi, eax
jne 0x42da70
jmp 0x42dbf1
fild dword [esp + 0x28]
fild dword [esp + 0x24]
call fcn.004796da
fst qword [esp + 0x2c]
fld st(0)
fld qword [esp + 0x44]
fsub st(1), st(0)
fxch st(1)
fst qword [esp + 0x54]
fld st(0)
fabs
fld qword [esp + 0x4c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x42dba8
fstp st(1)
fldz
fcomp st(3)
fnstsw ax
fld st(0)
test ah, 0x41
jne 0x42db98
faddp st(3)
faddp st(2)
fsubp st(1)
fst qword [esp + 0x54]
jmp 0x42dbae
fchs
fxch st(1)
fsubrp st(3)
fsubrp st(2)
fsubp st(1)
fst qword [esp + 0x54]
jmp 0x42dbae
fstp st(0)
fstp st(2)
fstp st(0)
fld qword [esp + 0x34]
fabs
fld st(1)
fabs
fcompp
fnstsw ax
test ah, 0x41
jne 0x42dbcf
mov eax, dword [esp + 0x10]
fstp qword [esp + 0x34]
mov dword [esp + 0x14], eax
jmp 0x42dbd1
fstp st(0)
mov edi, dword [esp + 0x10]
add edi, 1
mov ecx, 0x4a0080
mov dword [esp + 0x10], edi
call fcn.0042be40
sub eax, 1
cmp edi, eax
jl 0x42d940
fld qword [esp + 0x2c]
fild dword [esp + 0x98]
fld qword [esp + 0x4c]
fmul st(1), st(0)
fld qword [0x48c230]
fdiv st(2), st(0)
fld qword [esp + 0x34]
fabs
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x42dcab
fld qword [esp + 0x54]
fabs
fld st(2)
fmul qword [0x48bff8]
fdiv st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x42dcab
fld st(3)
fld qword [esp + 0x3c]
fsub st(1), st(0)
fxch st(1)
fabs
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x42dcb3
mov ebx, dword [esp + 0x14]
fstp st(1)
fstp st(1)
fstp st(0)
call fcn.004794c0
fmul qword [0x48b9b8]
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x42dc75
fsub qword [0x48b848]
jmp 0x42dc7b
fadd qword [0x48b848]
call fcn.00478370
fld qword [esp + 0x2c]
mov edi, eax
call fcn.00479390
fmul qword [0x48b9b8]
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x42dd3a
fsub qword [0x48b848]
jmp 0x42dd40
fstp st(2)
fld qword [esp + 0x3c]
fxch st(2)
fld st(3)
fsub st(3)
fld st(0)
fabs
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x42dd36
fstp st(0)
fldz
fcomp st(4)
fnstsw ax
fld st(1)
test ah, 0x41
jne 0x42dcdb
faddp st(4)
fxch st(3)
fadd st(1)
jmp 0x42dce5
fchs
fld st(2)
fsubrp st(5)
fsubrp st(4)
fxch st(3)
fst qword [esp + 0x2c]
fld st(0)
fsubrp st(3)
fxch st(3)
fxch st(2)
fabs
fild dword [esp + 0x9c]
fmulp st(2)
fxch st(1)
fdivrp st(2)
fcompp
fnstsw ax
test ah, 0x41
jne 0x42ddd1
mov ebx, dword [esp + 0x14]
call fcn.004794c0
fmul qword [0x48b9b8]
fldz
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x42dc75
fsub qword [0x48b848]
jmp 0x42dc7b
fstp st(3)
jmp 0x42dcef
fadd qword [0x48b848]
call fcn.00478370
push eax
push edi
call fcn.0042b900
add esp, 8
test ebx, ebx
mov edi, eax
jl 0x42ddd3
test esi, esi
je 0x42dd62
sub ebp, esi
sar ebp, 3
cmp ebx, ebp
jb 0x42dd6d
call fcn.0047770d
mov esi, dword [0x4a0084]
mov ecx, dword [esi + ebx*8]
mov edx, dword [esi + ebx*8 + 4]
lea eax, [esp + 0x54]
mov dword [esp + 0x54], ecx
push eax
mov ecx, 0x4a0090
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edi
call fcn.0042d5f0
mov ecx, dword [0x4a0084]
test ecx, ecx
jne 0x42ddb2
pop ebp
xor eax, eax
pop ebx
mov eax, 0xffffffff
pop edi
mov dword [0x4a006c], eax
mov eax, 1
pop esi
add esp, 0x70
ret
mov eax, dword [0x4a0088]
sub eax, ecx
pop ebp
sar eax, 3
pop ebx
add eax, 0xffffffff
pop edi
mov dword [0x4a006c], eax
mov eax, 1
pop esi
add esp, 0x70
ret
fstp st(0)
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x70
ret