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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1f48c
call fcn.004b04c0
push ebx
push esi
push edi
mov ebx, ecx
call fcn.004c9206
test eax, eax
je 0x46c39b
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x74]
mov dword [esp + 0x54], eax
jmp 0x46c3a3
mov dword [esp + 0x54], 0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
cmp eax, ecx
jne 0x46c3c6
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0046b560
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov edx, dword [ebx + 0xebd50]
mov dword [esp + 0x24], edx
lea eax, [edx + edx*4]
lea ecx, [edx + eax*2]
shl ecx, 4
movsx eax, word [ecx + ebx + 0xf1d56]
lea ecx, [ecx + ebx + 0xf1d56]
mov dword [esp + 0x3c], ecx
mov ecx, dword [ebx + edx*4 + 0xeb5d0]
test ecx, ecx
je 0x46d48a
mov ecx, dword [ebp + 0x10]
cmp ecx, eax
jge 0x46d48a
mov edi, dword [ebp + 0x14]
cmp edi, eax
jge 0x46d48a
cmp ecx, edi
jne 0x46c420
xor ecx, ecx
lea edi, [eax - 1]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0x14], edi
mov esi, dword [ebx + edx*4 + 0xf7438]
mov edx, dword [esi + edi*4]
and edx, 0xf
cmp dl, 2
je 0x46d475
mov edx, dword [esi + ecx*4]
and edx, 0xf
cmp dl, 2
je 0x46d475
test edi, edi
jne 0x46c44f
lea edi, [eax - 1]
mov dword [ebp + 0x14], edi
xor esi, esi
cmp edi, ecx
mov dword [esp + 0x54], esi
jge 0x46c465
mov esi, edi
lea edi, [eax - 1]
mov dword [esp + 0x54], esi
mov dword [ebp + 0x14], edi
push edi
mov dword [esp + 0x1c], ecx
push ecx
mov ecx, ebx
mov dword [esp + 0x28], 1
call fcn.0047f6f0
fstp qword [esp + 0x90]
test esi, esi
jle 0x46c491
push esi
push 0
mov ecx, ebx
call fcn.0047f6f0
jmp 0x46c497
fld qword [0x4f3dd0]
fadd qword [esp + 0x90]
mov dword [esp + 0x14], 0
fstp qword [esp + 0x88]
mov esi, dword [esp + 0x18]
cmp esi, edi
jge 0x46ca90
mov eax, dword [esp + 0x24]
lea ecx, [esi + 1]
mov dword [esp + 0x78], ecx
mov eax, dword [ebx + eax*4 + 0xf7438]
mov edx, dword [eax + ecx*4]
mov edi, dword [eax + esi*4]
and edx, 0xf
and edi, 0xf
cmp dl, 2
jne 0x46c942
cmp edi, 1
je 0x46c4ed
test edi, edi
jne 0x46c942
mov edi, esi
mov esi, ecx
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x38], edi
lea eax, [eax + esi*4]
and ecx, 0xf
cmp cl, 2
jne 0x46c512
mov edx, dword [eax + 4]
add eax, 4
and edx, 0xf
inc esi
cmp dl, 2
je 0x46c503
lea eax, [esp + 0x1fd8]
mov ecx, esi
push eax
sub ecx, edi
push edi
push ecx
mov ecx, ebx
call fcn.004733e0
dec esi
xor edx, edx
test eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x1c], edx
jl 0x46ca7b
mov eax, dword [esp + 0x20]
lea eax, [eax + eax*4]
shl eax, 3
lea ecx, [esp + eax + 0x98]
mov dword [esp + 0x40], ecx
lea ecx, [esp + eax + 0x1038]
mov dword [esp + 0x48], ecx
lea ecx, [esp + eax + 0xb8]
lea eax, [esp + eax + 0x1058]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
test edx, edx
jne 0x46c648
fild dword [esp + 0x1fd8]
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x10]
push eax
fstp qword [esp + 0x84]
fild dword [esp + 0x1fe0]
mov byte [ecx], 1
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, ebx
fstp qword [esp + 0x60]
fild dword [esp + 0x1fe8]
mov byte [edx], 1
fstp qword [esp + 0x78]
fild dword [esp + 0x1fec]
fstp qword [esp + 0x30]
call fcn.0047f6f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46c5d9
fadd qword [esp + 0x90]
fld qword [esp + 0x88]
fsub st(1)
fimul dword [ebp + 8]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x74]
push esi
push edx
fild dword [ebp + 0xc]
mov edx, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0x68]
push ecx
fmul st(2)
mov ecx, dword [esp + 0x68]
push edx
mov edx, dword [esp + 0x98]
push eax
faddp st(1)
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x54]
push edx
fdiv qword [esp + 0xa8]
push eax
push ecx
call fcn.004b03b4
push eax
mov ecx, ebx
fstp st(0)
call fcn.0046ed50
mov edi, dword [esp + 0x40]
mov ecx, 0xa
jmp 0x46c80b
cmp edx, dword [esp + 0x78]
je 0x46c861
mov eax, dword [esp + 0x38]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edi, dword [ebx + eax*4 + 0xf7438]
mov dword [esp + 0x58], edi
mov eax, dword [edi + ecx*4]
and eax, 0xf
cmp al, 2
jne 0x46c84b
mov eax, dword [esp + 0x24]
mov edx, dword [esp + edx*8 + 0x1fd8]
mov dword [esp + 0x28], edx
mov edi, dword [ebx + eax*4 + 0xf7078]
mov eax, dword [esp + 0x28]
mov edx, dword [edi + ecx*4]
cmp edx, eax
jne 0x46c6b8
mov edx, dword [esp + 0x24]
mov eax, dword [ebx + edx*4 + 0xf7258]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + ecx*4]
cmp eax, dword [esp + edx*8 + 0x1fdc]
je 0x46c6d4
jmp 0x46c6bc
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
inc ecx
mov eax, dword [eax + ecx*4]
and eax, 0xf
cmp al, 2
je 0x46c690
mov dword [esp + 0x28], ecx
jmp 0x46c84b
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
push ecx
mov ecx, dword [esp + 0x1c]
mov byte [edx], 0
push ecx
mov ecx, ebx
mov byte [eax], 0
call fcn.0047f6f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46c702
fadd qword [esp + 0x90]
fld qword [esp + 0x88]
fsub st(1)
fimul dword [ebp + 8]
fild dword [ebp + 0xc]
fmul st(2)
faddp st(1)
fdiv qword [esp + 0x88]
call fcn.004b03b4
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
fstp st(0)
fild dword [esp + ecx*8 + 0x1fdc]
push esi
mov edx, dword [esp + 0x2c]
sub esp, 8
mov dword [esp + 0x64], eax
fstp qword [esp]
fild dword [esp + ecx*8 + 0x1fe4]
sub esp, 8
sub esp, 8
fstp qword [esp + 8]
fild dword [esp + ecx*8 + 0x1ff0]
sub esp, 8
dec edx
fstp qword [esp + 8]
fild dword [esp + ecx*8 + 0x1ff4]
mov ecx, ebx
fstp qword [esp]
push edx
push eax
call fcn.0046ed50
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x40]
mov ecx, 0xa
add eax, 0x28
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov byte [eax], 0
mov eax, dword [esp + 0x1c]
add esi, 0x28
mov ecx, dword [esp + 0x10]
fild dword [esp + eax*8 + 0x1fe4]
push esi
mov edi, dword [esp + 0x24]
sub esp, 8
add ecx, 0x28
fstp qword [esp]
fild dword [esp + eax*8 + 0x1fec]
sub esp, 8
inc edi
sub esp, 8
mov dword [esp + 0x3c], edi
fstp qword [esp + 8]
fild dword [esp + eax*8 + 0x1ff8]
mov edi, dword [esp + 0x5c]
sub esp, 8
mov dword [esp + 0x34], ecx
mov byte [ecx], 0
fstp qword [esp + 8]
fild dword [esp + eax*8 + 0x1ffc]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x7c]
add edi, 0x28
mov dword [esp + 0x6c], esi
fstp qword [esp]
push eax
push ecx
mov ecx, ebx
mov dword [esp + 0x6c], edi
call fcn.0046ed50
mov ecx, 0xa
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
inc eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x20], eax
mov eax, 0x28
add edi, eax
add esi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xc], edi
mov dword [esp + 0x40], ecx
mov eax, dword [esp + 0x78]
inc edx
cmp edx, eax
mov dword [esp + 0x1c], edx
jle 0x46c574
jmp 0x46ca7b
fild dword [esp + edx*8 + 0x1fd0]
lea eax, [esp + edx*8 + 0x1fd8]
lea ecx, [esp + edx*8 + 0x1fdc]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
fstp qword [esp + 0x80]
fild dword [ecx - 8]
lea edi, [edi + edi*4]
shl edi, 3
fstp qword [esp + 0x58]
fild dword [eax]
inc esi
mov byte [esp + edi + 0x1058], 1
push esi
push edx
fstp qword [esp + 0x78]
fild dword [ecx]
mov ecx, ebx
mov byte [esp + edi + 0xc0], 1
fstp qword [esp + 0x30]
call fcn.0047f6f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46c8c7
fadd qword [esp + 0x90]
fld qword [esp + 0x88]
fsub st(1)
fimul dword [ebp + 8]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x74]
lea esi, [esp + edi + 0x1038]
push esi
push eax
fild dword [ebp + 0xc]
mov eax, dword [esp + 0x78]
push ecx
mov ecx, dword [esp + 0x68]
push edx
fmul st(2)
mov edx, dword [esp + 0x68]
push eax
mov eax, dword [esp + 0x98]
push ecx
faddp st(1)
mov ecx, dword [esp + 0x98]
push edx
mov edx, dword [esp + 0x50]
push eax
fdiv qword [esp + 0xa8]
push ecx
push edx
call fcn.004b03b4
push eax
mov ecx, ebx
fstp st(0)
call fcn.0046ed50
lea edi, [esp + edi + 0x98]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x34]
jmp 0x46ca7b
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x20]
push esi
mov eax, dword [ebx + ecx*4 + 0xf7078]
mov ecx, dword [ebx + ecx*4 + 0xf7258]
lea edi, [edi + edi*4]
fild dword [eax + esi*4]
shl edi, 3
fstp qword [esp + 0x84]
fild dword [ecx + esi*4]
fstp qword [esp + 0x5c]
fild dword [eax + edx*4]
mov eax, dword [esp + 0x1c]
push eax
fstp qword [esp + 0x78]
fild dword [ecx + edx*4]
mov ecx, ebx
mov byte [esp + edi + 0x1060], 1
mov byte [esp + edi + 0xc0], 1
fstp qword [esp + 0x30]
call fcn.0047f6f0
mov eax, dword [esp + 0x14]
fstp qword [esp + 0x40]
test eax, eax
je 0x46c9b9
fld qword [esp + 0x40]
fadd qword [esp + 0x90]
fstp qword [esp + 0x40]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov ecx, ebx
call fcn.0047f6f0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x46c9d9
fadd qword [esp + 0x90]
fild dword [ebp + 8]
mov edx, dword [esp + 0x2c]
lea eax, [esp + edi + 0x98]
lea ecx, [esp + edi + 0x1038]
push eax
fstp qword [esp + 0x7c]
fild dword [ebp + 0xc]
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x7c]
push edx
fstp qword [esp + 0x54]
fld qword [esp + 0x94]
fsub st(1)
mov edx, dword [esp + 0x7c]
push eax
mov eax, dword [esp + 0x6c]
push ecx
fmul qword [esp + 0x8c]
fxch st(1)
fmul qword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
push edx
mov edx, dword [esp + 0x9c]
push eax
faddp st(1)
mov eax, dword [esp + 0x9c]
push ecx
push edx
push eax
fdiv qword [esp + 0xb0]
push esi
call fcn.004b03b4
fld qword [esp + 0xb4]
fsub qword [esp + 0x6c]
push eax
fmul qword [esp + 0xa8]
fld qword [esp + 0x70]
fmul qword [esp + 0x78]
faddp st(1)
fdiv qword [esp + 0xb8]
call fcn.004b03b4
push eax
mov ecx, ebx
call fcn.0046e5b0
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0x14]
inc esi
inc ecx
cmp esi, eax
mov dword [esp + 0x20], ecx
jl 0x46c4b9
mov eax, dword [esp + 0x54]
xor ecx, ecx
cmp eax, ecx
jle 0x46cab4
mov dword [esp + 0x18], ecx
mov dword [ebp + 0x14], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], 1
mov edi, eax
jmp 0x46c4ad
mov edi, dword [ebp + 0x10]
cmp edi, ecx
mov dword [esp + 0x34], edi
jne 0x46ceb3
mov ecx, dword [esp + 0x3c]
movsx eax, word [ecx]
mov ecx, dword [ebp + 0x14]
lea edx, [eax - 1]
cmp ecx, edx
jne 0x46ceae
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], 1
dec eax
cmp eax, 1
jle 0x46cd47
lea ecx, [esp + 0xe0]
lea edx, [esp + 0xdc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], edx
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xc0]
lea edx, [esp + 0xc8]
mov dword [esp + 0x34], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
lea eax, [esp + 0xd0]
lea ecx, [esp + 0x1088]
lea edx, [esp + 0x10a8]
mov dword [esp + 0x3c], 4
mov dword [esp + 0x48], eax
mov dword [esp + 0x40], ecx
lea edi, [esp + 0x1090]
lea esi, [esp + 0x1098]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov cl, byte [eax]
mov al, byte [edx]
xor cl, al
jne 0x46ccd8
mov edx, dword [esi + 4]
lea eax, [esp + 0x68]
lea ecx, [esp + 0x60]
push eax
mov eax, dword [esi]
push ecx
mov ecx, dword [edi + 4]
push edx
mov edx, dword [edi]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, ebx
call fcn.0046f760
test eax, eax
je 0x46cc35
fld qword [esp + 0x60]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x46cbdc
fadd qword [0x4f3dc8]
jmp 0x46cbe2
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx + ecx*4 + 0xf7078]
mov ecx, dword [esp + 0x3c]
mov dword [edx + ecx], eax
fld qword [esp + 0x68]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x68]
fnstsw ax
test ah, 1
jne 0x46cc16
fadd qword [0x4f3dc8]
jmp 0x46cc1c
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + edx*4 + 0xf7258]
mov edx, dword [esp + 0x3c]
mov dword [ecx + edx], eax
jmp 0x46cc61
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov ecx, dword [ebx + eax*4 + 0xf7078]
mov eax, dword [esp + 0x3c]
mov edx, dword [edx]
mov dword [ecx + eax], edx
mov ecx, dword [esp + 0x24]
mov edx, dword [ebx + ecx*4 + 0xf7258]
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx]
mov dword [edx + eax], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x3c]
add ecx, 4
mov al, byte [edx]
mov dword [esp + 0x3c], ecx
test al, al
jne 0x46ccd8
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
inc eax
mov dword [esp + 0x1c], eax
mov eax, 0x28
add edx, eax
add ecx, eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x10]
add edx, eax
add ecx, eax
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x34]
add edx, eax
add ecx, eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x14]
add esi, eax
add edi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x18]
mov ecx, 0x28
add edx, ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x40]
add edx, ecx
add esi, ecx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x48]
add edx, ecx
add edi, ecx
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x10]
add edx, ecx
inc eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xc]
add edx, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x34]
add edx, ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x38]
add edx, ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x20]
dec ecx
mov dword [esp + 0x14], edx
cmp eax, ecx
jl 0x46cb5c
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x68]
push edx
mov edx, dword [esp + 0x1078]
lea ecx, [esp + 0x64]
lea eax, [eax + eax*4]
push ecx
mov ecx, dword [esp + 0x1078]
push edx
mov edx, dword [esp + 0x1078]
push ecx
mov ecx, dword [esp + 0x1078]
push edx
mov edx, dword [esp + 0x1078]
shl eax, 3
push ecx
mov ecx, dword [esp + 0x1078]
push edx
mov edx, dword [esp + eax + 0xa0]
push ecx
mov ecx, dword [esp + eax + 0xa0]
push edx
mov edx, dword [esp + eax + 0xa0]
push ecx
mov ecx, dword [esp + eax + 0xa0]
push edx
mov edx, dword [esp + eax + 0xa0]
mov eax, dword [esp + eax + 0x9c]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.0046f760
fld qword [esp + 0x60]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x46cddf
fadd qword [0x4f3dc8]
jmp 0x46cde5
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov esi, dword [esp + 0x24]
mov ecx, dword [ebx + esi*4 + 0xf7078]
mov dword [ecx], eax
fld qword [esp + 0x68]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x68]
fnstsw ax
test ah, 1
jne 0x46ce14
fadd qword [0x4f3dc8]
jmp 0x46ce1a
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [ebx + esi*4 + 0xf7258]
mov dword [edx], eax
fld qword [esp + 0x60]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x46ce45
fadd qword [0x4f3dc8]
jmp 0x46ce4b
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [ebx + esi*4 + 0xf7078]
mov edi, dword [ebp + 0x14]
mov dword [ecx + edi*4], eax
fld qword [esp + 0x68]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x68]
fnstsw ax
test ah, 1
jne 0x46ce90
fadd qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [ebx + esi*4 + 0xf7258]
mov dword [edx + edi*4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [ebx + esi*4 + 0xf7258]
mov dword [edx + edi*4], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea edi, [eax - 2]
jmp 0x46ceb4
dec edi
mov esi, dword [esp + 0x24]
mov ecx, dword [ebx + esi*4 + 0xf7078]
mov edx, dword [ebx + esi*4 + 0xf7438]
mov eax, dword [ebx + esi*4 + 0xf7258]
fild dword [ecx + edi*4 + 4]
lea edx, [edx + edi*4]
mov dword [esp + 0x58], edx
fstp qword [esp + 0x70]
mov edx, dword [edx]
fild dword [eax + edi*4 + 4]
and edx, 0xf
mov eax, edi
cmp dl, 2
fstp qword [esp + 0x28]
jne 0x46cf4d
mov edi, dword [esp + 0x58]
mov ecx, dword [edi - 4]
sub edi, 4
and ecx, 0xf
dec eax
cmp cl, 2
je 0x46cef4
mov ecx, dword [ebx + esi*4 + 0xf7438]
mov edx, eax
inc eax
lea edi, [ecx + eax*4]
mov ecx, dword [ecx + eax*4]
and ecx, 0xf
cmp cl, 2
jne 0x46cf2a
mov ecx, dword [edi + 4]
add edi, 4
and ecx, 0xf
inc eax
cmp cl, 2
je 0x46cf1b
lea ecx, [esp + 0x1fd8]
sub eax, edx
push ecx
push edx
push eax
mov ecx, ebx
call fcn.004733e0
fild dword [esp + eax*8 + 0x1fd0]
fild dword [esp + eax*8 + 0x1fd4]
jmp 0x46cf5a
mov eax, dword [ebx + esi*4 + 0xf7258]
fild dword [ecx + edi*4]
fild dword [eax + edi*4]
fld st(0)
fsub qword [esp + 0x28]
mov byte [esp + 0xb8], 1
fstp qword [esp + 0x98]
fld qword [esp + 0x70]
fsub st(2)
fst qword [esp + 0xa0]
fmul st(1)
fld qword [esp + 0x28]
fsub st(2)
fmul st(3)
fsubp st(1)
fstp qword [esp + 0xa8]
fstp st(0)
fstp st(0)
fld qword [esp + 0x70]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x70]
fnstsw ax
test ah, 1
jne 0x46cfb0
fadd qword [0x4f3dc8]
jmp 0x46cfb6
fsub qword [0x4f3dc8]
call fcn.004b03b4
fld qword [esp + 0x28]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x28]
mov dword [esp + 0xb0], eax
fnstsw ax
test ah, 1
jne 0x46cfdf
fadd qword [0x4f3dc8]
jmp 0x46cfe5
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xb4], eax
movsx eax, word [edx]
dec eax
cmp ecx, eax
jne 0x46d005
xor ecx, ecx
mov dword [ebp + 0x14], ecx
mov edx, dword [ebx + esi*4 + 0xf7078]
mov edi, dword [ebx + esi*4 + 0xf7258]
lea eax, [ecx + 1]
fild dword [edx + ecx*4]
fstp qword [esp + 0x80]
fild dword [edi + ecx*4]
mov ecx, dword [ebx + esi*4 + 0xf7438]
fstp qword [esp + 0x58]
lea edi, [ecx + eax*4]
mov ecx, dword [ecx + eax*4]
and ecx, 0xf
cmp cl, 2
jne 0x46d071
lea ecx, [eax - 1]
mov edx, dword [edi + 4]
add edi, 4
and edx, 0xf
inc eax
cmp dl, 2
je 0x46d03f
lea edx, [esp + 0x1fd8]
sub eax, ecx
push edx
push ecx
push eax
mov ecx, ebx
call fcn.004733e0
fild dword [esp + 0x1fe0]
fild dword [esp + 0x1fe4]
jmp 0x46d07e
mov ecx, dword [ebx + esi*4 + 0xf7258]
fild dword [edx + eax*4]
fild dword [ecx + eax*4]
fstp qword [esp + 0x28]
mov edi, dword [esp + 0x20]
fld qword [esp + 0x58]
fsub qword [esp + 0x28]
lea edi, [edi + edi*4]
shl edi, 3
fstp qword [esp + edi + 0x1038]
fld st(0)
fsub qword [esp + 0x80]
fst qword [esp + edi + 0x1040]
fmul qword [esp + 0x58]
fld qword [esp + 0x28]
fsub qword [esp + 0x58]
fmul qword [esp + 0x80]
fsubp st(1)
fstp qword [esp + edi + 0x1048]
mov byte [esp + edi + 0x1058], 1
fcom qword [0x4f3dd0]
fnstsw ax
test ah, 1
jne 0x46d0e4
fadd qword [0x4f3dc8]
jmp 0x46d0ea
fsub qword [0x4f3dc8]
call fcn.004b03b4
fld qword [esp + 0x28]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x28]
mov dword [esp + edi + 0x1050], eax
fnstsw ax
test ah, 1
jne 0x46d113
fadd qword [0x4f3dc8]
jmp 0x46d119
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esp + 0x20]
mov dword [esp + edi + 0x1054], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], eax
jle 0x46d419
lea eax, [esp + 0xb8]
lea ecx, [esp + 0xb4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x98]
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc], eax
lea edx, [esp + 0xb0]
lea ecx, [esp + 0xa0]
lea eax, [esp + 0x1060]
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x40], eax
lea edx, [esp + 0xa8]
lea edi, [esp + 0x1068]
lea eax, [esp + 0x1070]
lea ecx, [esp + 0x1080]
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x14]
mov cl, byte [edx]
mov edx, dword [esp + 0x18]
xor cl, byte [edx]
jne 0x46d396
lea ecx, [esp + 0x68]
lea edx, [esp + 0x60]
push ecx
mov ecx, dword [eax + 4]
push edx
mov edx, dword [eax]
mov eax, dword [edi + 4]
push ecx
mov ecx, dword [edi]
push edx
push eax
mov eax, dword [esp + 0x54]
push ecx
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
push ecx
push edx
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
mov ecx, ebx
call fcn.0046f760
test eax, eax
je 0x46d291
fld qword [esp + 0x60]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x60]
fnstsw ax
test ah, 1
jne 0x46d22b
fadd qword [0x4f3dc8]
jmp 0x46d231
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
lea edi, [ecx + edx]
mov ecx, dword [ebx + esi*4 + 0xf7078]
shl edi, 2
mov dword [edi + ecx], eax
fld qword [esp + 0x68]
fcomp qword [0x4f3dd0]
fld qword [esp + 0x68]
fnstsw ax
test ah, 1
jne 0x46d27a
fadd qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [ebx + esi*4 + 0xf7258]
mov dword [edi + edx], eax
jmp 0x46d2be
fsub qword [0x4f3dc8]
call fcn.004b03b4
mov edx, dword [ebx + esi*4 + 0xf7258]
mov dword [edi + edx], eax
jmp 0x46d2be
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [ebx + esi*4 + 0xf7078]
add eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, 2
mov ecx, dword [ecx]
mov dword [eax + edx], ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [ebx + esi*4 + 0xf7258]
mov ecx, dword [ecx]
mov dword [eax + edx], ecx
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
inc ecx
mov al, byte [edx]
mov dword [esp + 0x38], ecx
test al, al
jne 0x46d343
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x78]
mov eax, 0x28
inc edx
add ecx, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x40]
add edi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x48]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xc]
add edi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x24]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x14]
add edi, eax
add edx, eax
add ecx, eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
movsx ecx, word [eax]
mov eax, dword [esp + 0x38]
add eax, edx
cmp eax, ecx
jne 0x46d396
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
dec edx
cmp eax, edx
jge 0x46d396
mov eax, dword [ebx + esi*4 + 0xf7078]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 1
mov ecx, dword [eax + ecx*4 - 4]
mov dword [eax], ecx
mov eax, dword [ebx + esi*4 + 0xf7258]
movsx ecx, word [edx]
mov edx, dword [eax + ecx*4 - 4]
mov dword [eax], edx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x18]
add edx, 0x28
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x48]
add edx, 0x28
mov edi, dword [esp + 0x54]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x10]
add edx, 0x28
add eax, 0x28
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xc]
add edx, 0x28
mov dword [esp + 0x18], eax
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x24]
add edx, 0x28
mov eax, dword [esp + 0x78]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x28]
add edx, 0x28
inc ecx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
add edx, 0x28
add eax, 0x28
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
add edi, 0x28
cmp ecx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x54], edi
jl 0x46d1a9
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x3c]
test ecx, ecx
jne 0x46d444
movsx edx, word [eax]
mov ecx, dword [ebx + esi*4 + 0xf7078]
mov edx, dword [ecx + edx*4 - 4]
mov dword [ecx], edx
mov ecx, dword [ebx + esi*4 + 0xf7258]
movsx edx, word [eax]
mov edx, dword [ecx + edx*4 - 4]
mov dword [ecx], edx
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x46d48a
mov ecx, dword [ebx + esi*4 + 0xf7078]
movsx edx, word [eax]
mov edi, dword [ecx]
mov dword [ecx + edx*4 - 4], edi
mov ebx, dword [ebx + esi*4 + 0xf7258]
movsx eax, word [eax]
mov ecx, dword [ebx]
mov dword [ebx + eax*4 - 4], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [esp + 0x54]
push 0
push 0x51660c
push 0x5194bc
call fcn.004c5f8b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10