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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1e4
mov eax, dword [0x55c380]
xor eax, esp
mov dword [esp + 0x1e0], eax
mov eax, dword [ebp + 0x20]
push ebx
push esi
mov esi, edx
mov dword [esp + 0x20], eax
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
mov dword [esp + 0x1c], esi
mov ecx, dword [esi + 4]
mov eax, dword [edi + 0x20]
mov dword [esp + 0x3c], eax
xor eax, eax
mov edx, dword [ecx]
test edx, edx
jle 0x46cd1c
add ecx, 4
mov esi, dword [esp + 0x3c]
cmp dword [ecx], esi
mov esi, dword [esp + 0x1c]
je 0x46ce30
inc eax
add ecx, 4
cmp eax, edx
jl 0x46cd04
xorps xmm0, xmm0
movlpd qword [esp + 0x40], xmm0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
cmp byte [edi + 0x1d], 0
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], esi
mov eax, dword [ecx + 0x18]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [esp + 0x14], eax
jne 0x46cffc
cmp dword [edi + 0x3c], 0
jne 0x46cffc
test byte [ecx + 0x16], 0x80
jne 0x46cffc
cmp esi, eax
jae 0x46cffc
movsd xmm5, qword [0x54e7f0]
mov ecx, 0x100
movsd xmm4, qword [0x54e818]
nop dword [eax + eax]
cmp word [esi + 0x10], cx
jne 0x46cfe9
mov eax, dword [esp + 0x18]
mov ecx, edx
not ecx
not eax
and ecx, dword [esi + 0x20]
and eax, dword [esi + 0x24]
and ecx, dword [ebp + 0xc]
and eax, dword [ebp + 0x10]
or ecx, eax
jne 0x46cfe0
mov edx, dword [esi + 0xc]
mov ecx, dword [edx + 0x168]
mov eax, dword [edx + 0x16c]
and ecx, dword [esp + 0x2c]
and eax, dword [esp + 0x18]
or ecx, eax
je 0x46cfe0
mov eax, dword [edx + 0x18]
xorps xmm0, xmm0
mov esi, dword [edx + 0x20]
xorps xmm3, xmm3
movlpd qword [esp + 0x30], xmm0
xorps xmm2, xmm2
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
movsd qword [esp + 0x48], xmm3
mov dword [esp + 0x20], eax
movsd qword [esp + 0x50], xmm2
cmp esi, eax
jae 0x46d011
mov dword [esp + 0x40], ecx
mov dword [esp + 0x30], edx
nop word [eax + eax]
mov eax, 0x200
cmp word [esi + 0x10], ax
jne 0x46ce4e
mov edx, dword [esi + 0xc]
jmp 0x46cea8
xor edx, edx
xor ecx, ecx
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
mov dword [esp + 0x18], ecx
jmp 0x46cd31
mov eax, dword [esp + 0x3c]
cmp dword [esi + 8], eax
mov eax, dword [esp + 0x20]
jne 0x46cf71
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x80]
mov dword [esp + 0x90], ecx
mov byte [esp + 0x94], 0x45
mov dword [esp + 0xa0], esi
mov eax, dword [ecx]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x84], eax
xor eax, eax
mov word [esp + 0x96], ax
mov dword [esp + 0x98], 1
mov eax, dword [edi + 0xc]
mov ecx, ebx
test byte [eax + 0x22], 0x10
je 0x46cf02
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0
push eax
lea eax, [esp + 0x5c]
push eax
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call fcn.0046da50
mov eax, dword [esp + 0x30]
add esp, 0x20
cmp dword [eax + 0x1c], 0
je 0x46cef5
push dword [eax + 0x18]
call fcn.00419000
mov eax, dword [esp + 0x14]
add esp, 4
push eax
push dword [ebx]
call fcn.004190a0
add esp, 8
jmp 0x46cf20
lea eax, [esp + 0x58]
push eax
push 0
push 0
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call fcn.0046dc80
add esp, 0x20
movsd xmm0, qword [esp + 0x70]
addsd xmm0, qword [esp + 0x48]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x40]
or edx, dword [esp + 0x78]
or ecx, dword [esp + 0x7c]
movaps xmm3, xmm0
comisd xmm3, xmmword [eax + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x40], ecx
movsd xmm0, qword [esp + 0x60]
addsd xmm0, qword [esp + 0x50]
movsd qword [esp + 0x48], xmm3
movaps xmm2, xmm0
movsd qword [esp + 0x50], xmm2
jae 0x46cf80
mov eax, dword [esp + 0x20]
add esi, 0x28
cmp esi, eax
jb 0x46ce20
mov eax, dword [esp + 0x24]
movsd xmm5, qword [0x54e7f0]
movsd xmm4, qword [0x54e818]
cmp dword [ebp + 0x1c], 0
je 0x46cfb8
comisd xmm2, xmm4
movaps xmm0, xmm5
movaps xmm1, xmm4
jbe 0x46cfb0
mulsd xmm1, xmm4
addsd xmm0, xmm5
comisd xmm2, xmm1
ja 0x46cfa2
mulsd xmm0, xmm2
addsd xmm3, xmm0
movsd xmm0, qword [eax + 0x18]
comisd xmm0, xmm3
mov esi, dword [esp + 0x28]
jbe 0x46cfe0
movsd qword [eax + 0x18], xmm3
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ecx
movsd qword [eax + 8], xmm2
mov dword [eax], 0x10000000
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0x14]
mov ecx, 0x100
mov edx, dword [esp + 0x2c]
add esi, 0x28
mov dword [esp + 0x28], esi
cmp esi, eax
jb 0x46cd90
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004f5c8b
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
jmp 0x46cf90