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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
mov eax, dword [0x6360e8]
xor eax, esp
mov dword [esp + 0x168], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push ebx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x1c]
push esi
push edi
mov edi, dword [ebp + 8]
cmp dword [eax], 0
mov dword [esp + 0x1c], edi
je 0x4d2534
cmp byte [eax + 4], 0
je 0x4d22f5
mov eax, dword [ecx + 8]
lea edi, [esp + 0x70]
sub eax, 8
mov dword [esp + 0x70], 0xff000000
cdq
sub eax, edx
mov dword [esp + 0x74], 0xdee7ef
sar eax, 1
add eax, dword [ecx]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 0xc]
sub eax, 8
mov dword [esp + 0x78], 0x737baa
cdq
sub eax, edx
mov dword [esp + 0x7c], 0x232674
mov ebx, eax
mov dword [esp + 0x80], 0x3c3f84
sar ebx, 1
add ebx, dword [ecx + 4]
mov dword [esp + 0x84], 0x8d96ba
mov dword [esp + 0x88], 0xe0e9ef
mov dword [esp + 0x8c], 0xff000000
mov dword [esp + 0x90], 0xdce4ed
mov dword [esp + 0x94], 0x242875
mov dword [esp + 0x98], 0x6f71b3
mov dword [esp + 0x9c], 0x9fa0d6
mov dword [esp + 0xa0], 0xc3c4e9
mov dword [esp + 0xa4], 0xb1b2da
mov dword [esp + 0xa8], 0x5c6098
mov dword [esp + 0xac], 0xdbe4ed
mov dword [esp + 0xb0], 0x7b81ad
mov dword [esp + 0xb4], 0x4f5199
mov dword [esp + 0xb8], 0x8182c1
mov dword [esp + 0xbc], 0xa1a2d4
mov dword [esp + 0xc0], 0xccccea
mov dword [esp + 0xc4], 0xcccced
mov dword [esp + 0xc8], 0x9c9dcf
mov dword [esp + 0xcc], 0x7981ae
mov dword [esp + 0xd0], 0x2b2d77
mov dword [esp + 0xd4], 0x4f509a
mov dword [esp + 0xd8], 0x696baf
mov dword [esp + 0xdc], 0x7879ba
mov dword [esp + 0xe0], 0xa4a6d4
mov dword [esp + 0xe4], 0xa9aad9
mov dword [esp + 0xe8], 0x9193ce
mov dword [esp + 0xec], 0x1e2271
mov dword [esp + 0xf0], 0x36387f
mov dword [esp + 0xf4], 0x383a87
mov dword [esp + 0xf8], 0x52549c
mov dword [esp + 0xfc], 0x6162a8
mov dword [esp + 0x100], 0x6f71b3
mov dword [esp + 0x104], 0x7e7fbf
mov dword [esp + 0x108], 0x7879ba
mov dword [esp + 0x10c], 0x282c78
mov dword [esp + 0x110], 0x9094ba
mov dword [esp + 0x114], 0x1b1c71
mov dword [esp + 0x118], 0x3c3e8b
mov dword [esp + 0x11c], 0x4a4b96
mov dword [esp + 0x120], 0x585aa1
mov dword [esp + 0x124], 0x6768ac
mov dword [esp + 0x128], 0x464893
mov dword [esp + 0x12c], 0x828bb6
mov dword [esp + 0x130], 0xe2eaf1
mov dword [esp + 0x134], 0x4b4d8d
mov dword [esp + 0x138], 0x16186d
mov dword [esp + 0x13c], 0x292b7c
mov dword [esp + 0x140], 0x333584
mov dword [esp + 0x144], 0x2c2e7f
mov dword [esp + 0x148], 0x454b8c
mov dword [esp + 0x14c], 0xdfe9f0
mov dword [esp + 0x150], 0xff000000
mov dword [esp + 0x154], 0xe4ecf2
mov dword [esp + 0x158], 0x9599bd
mov dword [esp + 0x15c], 0x454688
mov dword [esp + 0x160], 0x414386
mov dword [esp + 0x164], 0x9095bb
mov dword [esp + 0x168], 0xe3ebf2
mov dword [esp + 0x16c], 0xff000000
mov dword [esp + 0xc], 8
xor esi, esi
nop word [eax + eax]
mov ecx, dword [edi]
test ecx, 0xff000000
jne 0x4d22db
mov eax, ecx
sar eax, 0x10
movzx eax, al
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
sar eax, 8
movzx eax, al
movsd qword [esp + 0x50], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movzx eax, cl
mov ecx, dword [esp + 0x1c]
movsd qword [esp + 0x58], xmm0
movd xmm0, eax
lea eax, [esp + 0x50]
cvtdq2pd xmm0, xmm0
push eax
mov eax, dword [esp + 0x28]
push ebx
add eax, esi
push eax
movsd qword [esp + 0x6c], xmm0
movsd xmm0, qword [0x604db8]
movsd qword [esp + 0x74], xmm0
call fcn.0046eb50
inc esi
add edi, 4
cmp esi, 8
jl 0x4d2270
inc ebx
sub dword [esp + 0xc], 1
jne 0x4d2265
jmp 0x4d2534
mov eax, dword [ecx + 8]
sub eax, 0x10
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ecx + 0xc]
sub eax, 0x10
sar esi, 1
add esi, dword [ecx]
cdq
sub eax, edx
mov dword [esp + 0x24], esi
mov ebx, eax
sar ebx, 1
add ebx, dword [ecx + 4]
mov ecx, dword [edi]
mov dword [esp + 0x1c], ebx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], eax
test eax, eax
je 0x4d237f
mov esi, dword [esp + 0xc]
movsd xmm0, qword [esi]
call fcn.005a08e0
movsd xmm0, qword [esi + 8]
mov bl, al
call fcn.005a08e0
movzx esi, al
mov eax, dword [esp + 0xc]
shl esi, 8
movsd xmm0, qword [eax + 0x10]
call fcn.005a08e0
mov edx, dword [esp + 0x28]
movzx ecx, al
movzx eax, bl
shl eax, 0x10
or eax, ecx
shl ecx, 0x10
or eax, esi
mov dword [edx + 0x28], eax
movzx eax, bl
mov ebx, dword [esp + 0x1c]
or ecx, eax
or ecx, esi
mov esi, dword [esp + 0x24]
mov dword [edx + 0x30], ecx
lea eax, [esi + 6]
mov ecx, edi
mov dword [esp + 0x28], eax
lea eax, [ebx + 0xa]
mov dword [esp + 0x2c], eax
lea eax, [esi + 3]
mov dword [esp + 0x38], eax
lea eax, [ebx + 7]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0046ef50
lea eax, [esi + 0xc]
mov ecx, edi
mov dword [esp + 0x30], eax
lea eax, [ebx + 4]
mov dword [esp + 0x34], eax
lea eax, [esi + 7]
mov dword [esp + 0x14], eax
lea eax, [ebx + 9]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0046ef50
mov eax, dword [esp + 0xc]
movsd xmm2, qword [0x604d48]
movsd xmm1, qword [0x604ed0]
movsd xmm3, qword [eax + 8]
movsd xmm0, qword [eax]
mulsd xmm3, xmm2
mulsd xmm0, xmm2
addsd xmm3, xmm1
addsd xmm0, xmm1
movsd qword [esp + 0x40], xmm3
movsd xmm3, qword [eax + 0x10]
mov eax, dword [edi]
mulsd xmm3, xmm2
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
addsd xmm3, xmm1
movsd qword [esp + 0x48], xmm3
test eax, eax
je 0x4d2478
call fcn.005a08e0
movsd xmm0, qword [esp + 0x40]
mov bl, al
call fcn.005a08e0
movsd xmm0, qword [esp + 0x48]
movzx esi, al
shl esi, 8
call fcn.005a08e0
movzx edx, al
mov eax, dword [esp + 0xc]
movzx ecx, bl
shl ecx, 0x10
or ecx, edx
shl edx, 0x10
or ecx, esi
mov dword [eax + 0x28], ecx
movzx eax, bl
mov ebx, dword [esp + 0x1c]
or edx, eax
mov eax, dword [esp + 0xc]
or edx, esi
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x28]
lea esi, [ebx + 8]
mov dword [esp + 0x1c], eax
mov ecx, edi
lea eax, [ebx + 0xb]
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.0046ef50
mov eax, dword [esp + 0x30]
mov ecx, edi
mov dword [esp + 0x1c], eax
lea eax, [ebx + 5]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], eax
lea eax, [ebx + 0xa]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x18]
push eax
call fcn.0046ef50
mov eax, dword [esp + 0x28]
mov ecx, edi
mov dword [esp + 0x14], eax
lea eax, [ebx + 9]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
lea eax, [ebx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0046ef50
lea eax, [ebx + 0xb]
mov ecx, edi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
lea eax, [ebx + 7]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x34]
mov dword [esp + 0x38], esi
push eax
call fcn.0046ef50
mov ecx, dword [esp + 0x174]
mov al, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00577025
mov esp, ebp
pop ebp
ret 0x18