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

Disassembly:
sub esp, 0x4c
mov ecx, dword [esp + 0x50]
push ebp
push esi
mov esi, eax
cdq
push edi
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x6c]
sar edi, 1
lea ebp, [edi*4]
push ebp
lea edx, [eax + ecx*4]
push edx
push eax
mov dword [esp + 0x18], edi
call fcn.004708d0
mov eax, dword [esp + 0x78]
sub esi, edi
add esi, esi
add esi, esi
push esi
add ebp, eax
push 0
push ebp
mov dword [esp + 0x68], ebp
call fcn.0046efc0
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
add esp, 0x18
cmp esi, ecx
jge 0x461e34
mov ebp, dword [esp + 0x5c]
fld1
mov eax, ebp
cdq
sub eax, edx
mov edi, eax
mov eax, dword [esp + 0x68]
add esi, esi
sar edi, 1
add esi, esi
sub ecx, dword [esp + 0x60]
lea edx, [edi + ebp - 3]
mov dword [esp + 0x64], edx
lea ebp, [eax + esi]
mov dword [esp + 0x4c], ecx
fld st(0)
xor ecx, ecx
cmp dword [esp + 0x64], 4
fdiv dword [ebp]
jl 0x461cf5
lea edx, [edi + 6]
mov dword [esp + 0x38], edx
lea eax, [edi + 1]
mov dword [esp + 0x34], eax
lea edx, [edi + 5]
lea eax, [edi + 2]
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
lea edx, [edi + 4]
lea eax, [edi - 1]
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
lea edx, [edi + 3]
lea eax, [edi - 2]
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
lea edx, [edi - 3]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x34]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
mov eax, dword [esp + 0x24]
add edx, esi
mov dword [esp + 0x14], edx
cdq
sub eax, edx
mov edx, dword [esp + 0x14]
sar eax, 1
mov eax, dword [ebx + eax*4]
fld dword [edx]
add eax, esi
mov dword [esp + 0x40], eax
fsub dword [eax]
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461a64
mov eax, dword [esp + 0x5c]
fld st(1)
fmul st(1)
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x2c]
cdq
sub eax, edx
sar eax, 1
mov eax, dword [ebx + eax*4]
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
lea eax, [edx + esi]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x54], eax
fld dword [edx]
fsub dword [eax]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461aab
mov eax, dword [esp + 0x5c]
fld st(1)
fmul st(1)
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x20]
cdq
sub eax, edx
sar eax, 1
mov eax, dword [ebx + eax*4]
add eax, esi
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
mov eax, dword [esp + 0x60]
fld dword [eax]
fsub dword [edx + esi]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461aec
mov eax, dword [esp + 0x5c]
fmul st(1)
fsub st(2)
fadd dword [eax]
fstp dword [eax]
jmp 0x461aee
fstp st(0)
mov eax, dword [esp + 0x3c]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
lea eax, [edx + esi]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x48], eax
fld dword [edx]
mov edx, dword [esp + 0x5c]
fsub dword [eax]
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461b23
fld st(1)
fmul st(1)
fsub st(3)
fadd dword [edx + 4]
fstp dword [edx + 4]
mov eax, dword [esp + 0x60]
fld dword [eax]
mov eax, dword [esp + 0x40]
fsub dword [eax]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461b47
fld st(1)
fmul st(1)
fsub st(3)
fadd dword [edx + 4]
fstp dword [edx + 4]
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
mov eax, dword [esp + 0x54]
fld dword [edx + esi]
add edx, esi
fsub dword [eax]
mov dword [esp + 0x44], edx
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461b7e
mov eax, dword [esp + 0x5c]
fmul st(1)
fsub st(2)
fadd dword [eax + 4]
fstp dword [eax + 4]
jmp 0x461b80
fstp st(0)
mov eax, dword [esp + 0x60]
fld dword [eax]
mov eax, dword [esp + 0x14]
fsub dword [eax]
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461bb3
mov edx, dword [esp + 0xc]
fld st(1)
fmul st(1)
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
lea eax, [edx + eax*4 + 8]
mov edx, dword [esp + 0x44]
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x48]
fld dword [edx]
fsub dword [eax]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461be0
mov edx, dword [esp + 0xc]
fld st(1)
fmul st(1)
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
lea eax, [edx + eax*4 + 8]
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x30]
cdq
sub eax, edx
mov edx, dword [esp + 0x40]
sar eax, 1
mov eax, dword [ebx + eax*4]
add eax, esi
mov dword [esp + 0x60], eax
fld dword [eax]
fsub dword [edx]
mov edx, dword [esp + 0x6c]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461c1e
mov eax, dword [esp + 0xc]
fmul st(1)
add eax, ecx
lea eax, [edx + eax*4 + 8]
fsub st(2)
fadd dword [eax]
fstp dword [eax]
jmp 0x461c20
fstp st(0)
mov eax, dword [esp + 0x44]
fld dword [eax]
mov eax, dword [esp + 0x10]
fsub dword [eax]
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461c4a
mov eax, dword [esp + 0xc]
fld st(1)
fmul st(1)
add eax, ecx
lea eax, [edx + eax*4 + 0xc]
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x60]
fld dword [eax]
mov eax, dword [esp + 0x14]
fsub dword [eax]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461c76
mov eax, dword [esp + 0xc]
fld st(1)
fmul st(1)
add eax, ecx
lea eax, [edx + eax*4 + 0xc]
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
mov eax, dword [esp + 0x48]
fld dword [edx + esi]
fsub dword [eax]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461cb0
mov edx, dword [esp + 0xc]
fmul st(1)
lea eax, [ecx + edx]
mov edx, dword [esp + 0x6c]
fsub st(2)
lea eax, [edx + eax*4 + 0xc]
fadd dword [eax]
fstp dword [eax]
jmp 0x461cb2
fstp st(0)
add dword [esp + 0x5c], 0x10
mov eax, 4
add dword [esp + 0x18], eax
add dword [esp + 0x1c], eax
add dword [esp + 0x20], eax
add dword [esp + 0x24], eax
add dword [esp + 0x28], eax
add dword [esp + 0x2c], eax
add dword [esp + 0x30], eax
add dword [esp + 0x34], eax
add dword [esp + 0x38], eax
add dword [esp + 0x3c], eax
add ecx, eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffffd
cmp ecx, eax
jl 0x461a20
cmp ecx, dword [esp + 0x64]
jge 0x461e1f
lea eax, [edi + ecx - 3]
mov dword [esp + 0x2c], eax
lea edx, [edi + ecx + 3]
mov dword [esp + 0x30], edx
lea eax, [edi + ecx - 2]
mov dword [esp + 0x34], eax
lea edx, [edi + ecx + 2]
mov dword [esp + 0x38], edx
lea eax, [edi + ecx - 1]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xc]
lea edx, [edi + ecx + 1]
mov dword [esp + 0x60], edx
lea edx, [ecx + eax]
mov eax, dword [esp + 0x6c]
lea edx, [eax + edx*4]
mov eax, dword [esp + 0x64]
sub eax, ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebx + eax*4]
mov eax, dword [esp + 0x3c]
fld dword [ecx + esi]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
fsub dword [edx + esi]
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461d81
mov eax, dword [esp + 0x5c]
fld st(1)
fmul st(1)
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebx + eax*4]
mov eax, dword [esp + 0x34]
fld dword [ecx + esi]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
fsub dword [edx + esi]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461db9
mov eax, dword [esp + 0x5c]
fld st(1)
fmul st(1)
fsub st(3)
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esp + 0x30]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebx + eax*4]
mov eax, dword [esp + 0x2c]
fld dword [ecx + esi]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebx + eax*4]
fsub dword [edx + esi]
faddp st(1)
fcom dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x461df1
mov eax, dword [esp + 0x5c]
fmul st(1)
fsub st(2)
fadd dword [eax]
fstp dword [eax]
jmp 0x461df3
fstp st(0)
add dword [esp + 0x5c], 4
mov eax, 1
add dword [esp + 0x60], eax
add dword [esp + 0x3c], eax
add dword [esp + 0x38], eax
add dword [esp + 0x34], eax
add dword [esp + 0x30], eax
add dword [esp + 0x2c], eax
sub dword [esp + 0x48], eax
jne 0x461d4b
add esi, 4
fstp st(0)
add ebp, 4
sub dword [esp + 0x4c], 1
jne 0x4619c3
fstp st(0)
pop edi
pop esi
pop ebp
add esp, 0x4c
ret