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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
sub eax, 1
cmp eax, 3
ja 0x47cae0
lea eax, [eax + eax*8]
mov edi, dword [eax*4 + 0x7546c0]
mov ecx, dword [eax*4 + 0x7546c8]
mov eax, dword [eax*4 + 0x7546cc]
lea esi, [edi + edi]
mov dword [esp + 0x34], edi
mov dword [0x841790], eax
lea eax, [eax + eax*4 - 5]
mov edx, dword [eax*4 + 0x7544b8]
mov ebp, dword [eax*4 + 0x7544b0]
mov dword [esp + 0x3c], esi
mov dword [0x841798], edi
add edi, esi
mov dword [0x841788], edx
mov edx, dword [eax*4 + 0x7544bc]
mov eax, dword [eax*4 + 0x7544c0]
mov dword [0x841778], edi
mov dword [0x841794], ecx
mov edi, dword [esp + 0x34]
mov dword [0x84178c], ebp
mov dword [0x841784], edx
mov dword [0x841780], eax
mov dword [esp + 0x38], esi
mov dword [0x84177c], esi
cmp ecx, 2
je 0x47c818
mov edi, esi
mov esi, dword [esp + 0x34]
lea esi, [esi*4]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x38]
mov dword [0x841774], edi
mov dword [0x841770], esi
mov esi, dword [esp + 0x68]
fld qword [esi + 0x10]
fst qword [0x841768]
fld qword [esi + 8]
fld qword [esi]
fmul st(2)
fmul qword [0x7797f8]
fld1
fld st(2)
fadd st(1)
fdivp st(2)
fxch st(3)
fmul st(0)
fmul st(1)
fst qword [0x841750]
fmul st(2)
fxch st(3)
fsubrp st(2)
fxch st(2)
fdivrp st(1)
fstp qword [0x841760]
fmul dword [0x779800]
fstp qword [0x841758]
cmp ecx, 2
jne 0x47ca68
mov dword [0x84174c], 1
mov edi, dword [esp + 0x34]
mov dword [0x841748], 2
mov dword [0x841790], 1
test edi, edi
jle 0x47c8f7
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x38], ebp
mov ecx, 1
lea edi, [esi + 8]
mov esi, dword [esp + 0x3c]
add esi, 1
mov ebp, esi
mov esi, dword [esp + 0x78]
nop
fld qword [edi]
add edi, 0x18
fstp qword [ecx*8 + 0x94be98]
fld qword [edi - 0x10]
fstp qword [ecx*8 + 0x94bea0]
add ecx, 2
cmp ecx, ebp
jne 0x47c8c0
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x3c]
lea ecx, [edi + esi + 2]
mov dword [0x841748], ecx
mov dword [0x84174c], edx
mov dword [0x841744], 1
mov dword [0x841740], eax
mov dword [0x841790], 1
test ebp, ebp
jle 0x47caf4
mov edi, dword [esp + 0x64]
mov esi, dword [esp + 0x78]
jmp 0x47ca06
mov dword [esp + 0x14], 0x7797ec
mov dword [esp + 0x10], 0x841774
mov dword [esp + 0xc], 0x7797ec
mov dword [esp + 8], 0x841720
mov dword [esp + 4], 0x94bea0
mov dword [esp], 0x94b7e0
call fcn.0047bce0
fld qword [0x841720]
fadd qword [0x841738]
fmul qword [0x841760]
mov eax, dword [0x841744]
mov ecx, dword [esp + 0x70]
lea edx, [esi + eax*8]
add eax, dword [ecx]
mov ecx, dword [0x841790]
fchs
mov dword [0x841744], eax
mov eax, dword [0x84177c]
fst qword [0x841768]
fld qword [0x841750]
add ecx, 1
fld qword [0x841720]
add eax, dword [0x841740]
mov dword [0x841790], ecx
mov dword [0x841740], eax
fmul st(1)
fsubr st(2)
fstp qword [edx - 8]
fld qword [0x841738]
fmul st(1)
fsubp st(2)
fxch st(1)
fstp qword [edx]
fld qword [0x841728]
fadd qword [0x841730]
fxch st(1)
fmul dword [0x779804]
fmulp st(1)
fchs
fstp qword [edx + 8]
mov edx, dword [0x841770]
add edx, dword [0x84174c]
mov dword [0x84174c], edx
cmp ecx, ebp
jg 0x47caf0
lea edx, [edx*8 + 0x751458]
lea eax, [eax*8 + 0x751458]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], 0x841768
mov dword [esp + 0x1c], 0x94b7e0
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x841774
mov dword [esp + 8], 0x841798
mov dword [esp + 4], 0x7797ec
mov dword [esp], edi
call fcn.0047ac60
mov ecx, dword [ebx]
test ecx, ecx
je 0x47c930
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], 0x94b7e0
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], 0x7797e8
mov dword [esp], eax
call fcn.0047d150
mov esi, dword [ebx]
test esi, esi
jne 0x47ca5a
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], 0x841778
mov dword [esp + 0xc], 0x841770
mov dword [esp + 4], eax
mov dword [esp + 8], 0x94bea0
mov dword [esp], 0x94b7e0
call fcn.0047bbc0
mov edx, dword [0x841784]
mov eax, dword [0x841780]
mov ebp, dword [0x84178c]
jmp 0x47c8f7
mov dword [ebx], 1
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x78], esi
cmp dword [0x841794], 2
je 0x47cd27
mov eax, dword [0x841780]
mov edi, dword [0x84178c]
mov dword [0x841744], 4
mov dword [0x841790], 1
mov dword [0x841740], eax
mov dword [esp + 0x34], edi
test edi, edi
jle 0x47ccab
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x78]
lea esi, [esi]
lea eax, [eax*8 + 0x751458]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x20], 0x841768
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], 0x94b7e0
mov dword [esp], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0xc], 0x841798
mov dword [esp + 8], 0x841798
mov dword [esp + 4], 0x7797ec
call fcn.0047ac60
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
test eax, eax
jne 0x47ca5a
fldz
mov eax, dword [esp + 0x70]
mov ecx, dword [0x841798]
mov dword [0x841748], 1
fst qword [0x841718]
mov ebp, dword [eax]
mov dword [0x841708], 1
fst qword [0x841710]
mov dword [0x841704], 1
test ecx, ecx
jle 0x47cd20
cmp dword [0x84178c], ecx
jge 0x47ccc0
fld qword [esi + 8]
fld qword [esi + 0x10]
mov edx, ecx
mov eax, 0x94b7e0
fld qword [esi]
shl edx, 4
add edx, eax
fld st(3)
lea esi, [esi]
nop
fld qword [eax + 8]
add eax, 0x10
fmul st(3)
fld qword [eax - 0x10]
fmul st(3)
faddp st(1)
faddp st(5)
fld qword [eax - 0x10]
fmul st(3)
fld qword [eax - 8]
fmul st(5)
faddp st(1)
faddp st(1)
cmp edx, eax
jne 0x47cc00
fstp st(3)
fstp st(0)
fstp st(0)
lea eax, [ecx + ecx + 1]
lea ebx, [ecx + 1]
mov edx, 1
mov dword [0x841704], ebx
mov dword [0x841708], edx
mov dword [0x841748], eax
fst qword [0x841710]
fxch st(1)
fst qword [0x841718]
mov eax, dword [0x841744]
mov ebx, dword [0x841790]
fstp qword [esi + eax*8 - 8]
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x34]
fstp qword [esi + eax*8]
add eax, ebp
mov dword [0x841744], eax
mov eax, dword [0x84177c]
add eax, dword [0x841740]
mov dword [0x841790], edx
mov dword [0x841740], eax
cmp edx, ebx
jle 0x47cb40
cmp dword [0x84178c], 1
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x78], esi
je 0x47ce42
mov dword [ebx], 0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, ecx
mov eax, 0x94b7e0
lea edi, [ebp*8]
mov edx, esi
shl ebx, 4
fld st(0)
add ebx, eax
lea esi, [esi]
nop
fld qword [eax]
fmul qword [edx]
add eax, 0x10
fld qword [edx + 0x10]
fmul qword [eax - 8]
faddp st(1)
faddp st(2)
fld qword [eax - 8]
fmul qword [edx + 8]
fld qword [eax - 0x10]
fmul qword [edx + 0x10]
add edx, edi
faddp st(1)
faddp st(1)
cmp ebx, eax
jne 0x47cce0
mov edx, ecx
lea eax, [ecx + ecx + 1]
lea ebx, [ecx + 1]
imul edx, ebp
add edx, 1
jmp 0x47cc35
fld st(0)
jmp 0x47cc54
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], 0x94b7e0
mov dword [esp + 0xc], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], 0x7797f0
mov dword [esp], eax
call fcn.0047d150
mov edx, dword [ebx]
test edx, edx
jne 0x47ca5a
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], 0x841778
mov dword [esp + 0xc], 0x84177c
mov dword [esp + 8], 0x94bea0
mov dword [esp + 4], eax
mov dword [esp], 0x94b7e0
call fcn.0047bbc0
mov edx, dword [0x841788]
mov edi, dword [0x84178c]
mov dword [0x841744], 4
mov dword [0x841790], 1
mov dword [0x841748], edx
test edi, edi
jle 0x47ccab
mov dword [esp + 0x74], ebx
mov esi, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
nop
lea eax, [edx*8 + 0x751458]
mov dword [esp + 0x10], 0x841798
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0x7797ec
mov dword [esp + 8], 0x841720
mov dword [esp], 0x94bea0
call fcn.0047bbc0
fld qword [0x841758]
mov ebp, dword [ebx]
fld qword [0x841720]
mov eax, dword [0x841744]
mov edx, dword [0x841748]
mov ecx, dword [0x841798]
fmul st(1)
add edx, ecx
mov dword [0x841748], edx
fstp qword [esi + eax*8 - 8]
fmul qword [0x841728]
fstp qword [esi + eax*8]
add eax, ebp
mov dword [0x841744], eax
mov eax, dword [0x841790]
add eax, 1
mov dword [0x841790], eax
cmp eax, edi
jle 0x47cdc0
jmp 0x47cc92
mov dword [0x841790], 2
mov eax, dword [esp + 0x34]
mov dword [0x841744], eax
cmp ecx, 1
jle 0x47ccab
lea edi, [eax*8]
mov eax, dword [esp + 0x78]
lea ebp, [ecx - 1]
xor edx, edx
mov esi, dword [esp + 0x78]
add eax, edi
lea esi, [esi]
fld qword [esi]
add edx, 1
fstp qword [eax]
fld qword [esi + 8]
fstp qword [eax + 8]
fld qword [esi + 0x10]
fstp qword [eax + 0x10]
fld qword [esi + 0x18]
fstp qword [eax + 0x18]
fld qword [esi + 0x20]
fstp qword [eax + 0x20]
add eax, edi
cmp edx, ebp
jne 0x47ce78
mov edi, dword [esp + 0x34]
lea eax, [ecx - 2]
add ecx, 1
mov dword [0x841700], 6
mov dword [0x841790], ecx
imul eax, edi
lea eax, [eax + edi*2]
mov dword [0x841744], eax
jmp 0x47ccab