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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc8
mov eax, dword [0xe14344]
xor eax, esp
mov dword [esp + 0xc4], eax
mov eax, ecx
mov ecx, dword [ebp + 0x1c]
push esi
push edi
lea esi, [ebp + 8]
mov dword [esp + 0x24], eax
and dword [eax], 0
lea edi, [eax + 4]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
movsd dword es:[edi], dword [esi]
mov dword [esp + 0x18], ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movd xmm0, dword [eax + 8]
cvtdq2pd xmm0, xmm0
call fcn.00d82aa0
mov esi, dword [esp + 0x1c]
cvttsd2si eax, xmm0
push 0x10
pop ecx
shl eax, 2
cmp eax, ecx
cmovg ecx, eax
mov dword [esi + 0x14], ecx
lea eax, [ecx*2 + 1]
mov ecx, esi
mov dword [esi + 0x18], eax
xor eax, eax
inc eax
mov byte [esi + 0x1c], al
call fcn.004dd4ce
mov edi, dword [esi + 0x10]
mov ecx, dword [esi]
lea edx, [edi - 1]
test edx, edx
js 0x4d4ed8
and dword [ecx], 0
sub edx, 1
mov eax, dword [esi + 0x18]
lea ecx, [ecx + eax*4]
jns 0x4d4ec7
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 4]
mov ecx, 0x100
imul ecx
push 0x54
mov dword [esp + 0x28], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x60], edx
imul ecx
push 0
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0xc]
add eax, dword [esi + 4]
mov dword [esp + 0x30], edx
imul ecx
mov dword [esp + 0x4c], eax
mov eax, edi
mov dword [esp + 0x50], edx
imul ecx
mov dword [esp + 0x34], eax
lea eax, [esp + 0x78]
push eax
mov dword [esp + 0x4c], edx
call fcn.00d712b0
pop ecx
pop ecx
mov dword [esp], 0x3f19999a
lea ecx, [esp + 0x74]
push dword [esp + 0x1c]
push dword [ebp + 0x18]
call fcn.004d6329
lea ecx, [esp + 0x70]
call fcn.004fd1d6
test al, al
je 0x4d51e9
movss xmm0, dword [esp + 0x74]
comiss xmm0, dword [0xdb3a20]
jb 0x4d4f64
movss xmm1, dword [0xdb6b80]
jmp 0x4d4f6c
movss xmm1, dword [0xdb6c8c]
mulss xmm0, dword [0xdb6c5c]
addss xmm0, xmm1
call fcn.00d1efd0
movss xmm0, dword [esp + 0x7c]
mov esi, edx
comiss xmm0, dword [0xdb3a20]
mov dword [esp + 8], eax
movss dword [esp + 0x20], xmm0
jb 0x4d4fa2
movss xmm1, dword [0xdb6b80]
jmp 0x4d4faa
movss xmm1, dword [0xdb6c8c]
mulss xmm0, dword [0xdb6c5c]
addss xmm0, xmm1
call fcn.00d1efd0
mov edi, eax
mov eax, edx
mov edx, dword [esp + 8]
cmp edx, edi
jne 0x4d4fcf
cmp esi, eax
je 0x4d51d4
sub edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
sbb esi, dword [esp + 0x28]
sub edi, dword [esp + 0x3c]
mov dword [esp + 0xc], esi
sbb eax, dword [esp + 0x28]
or dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], esi
cmp esi, eax
jl 0x4d502b
jg 0x4d5006
cmp edx, edi
jbe 0x4d502b
mov eax, edx
mov ecx, esi
mov esi, dword [esp + 0x10]
mov edx, edi
mov edi, eax
mov dword [esp + 8], edx
mov eax, ecx
mov dword [esp + 0xc], esi
xor ecx, ecx
mov dword [esp + 0x14], edi
inc ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
test esi, esi
jg 0x4d504e
jl 0x4d5035
test edx, edx
jae 0x4d504e
xorps xmm0, xmm0
movlpd qword [esp + 0x30], xmm0
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jl 0x4d506c
jg 0x4d505e
cmp edi, dword [esp + 0x2c]
jbe 0x4d506c
mov edi, dword [esp + 0x2c]
mov eax, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
cmp esi, eax
jg 0x4d51d4
jl 0x4d507e
cmp edx, edi
jae 0x4d51d4
movss xmm0, dword [esp + 0x70]
mov eax, 0x100
mulss xmm0, dword [0xdb6c5c]
cdq
movss xmm1, dword [esp + 0x20]
subss xmm1, dword [esp + 0x74]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x68], xmm0
movss xmm0, dword [esp + 0x78]
subss xmm0, dword [esp + 0x70]
divss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x60], xmm0
andps xmm0, xmmword [0xdb3af0]
cvttsd2si ecx, xmm0
inc ecx
idiv ecx
mov edx, 0x100
cmp eax, edx
mov ecx, eax
cmovg ecx, edx
xor edx, edx
inc edx
cmp eax, edx
cmovl ecx, edx
mov eax, ecx
xor ecx, ecx
cdq
inc ecx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
sub eax, ecx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
sbb eax, 0
mov dword [esp + 0x58], eax
push 0
movzx eax, dl
mov ecx, 0x100
sub ecx, eax
pop eax
sbb eax, eax
sub edi, edx
push eax
mov eax, dword [esp + 0x14]
push ecx
sbb eax, esi
push eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x60]
call fcn.004d211e
add esp, 0x18
mov esi, eax
imul eax, dword [esp + 0x18]
mov edi, edx
push eax
push 0
mov eax, 0x100
push eax
push dword [esp + 0x18]
push dword [esp + 0x18]
call fcn.00d1f910
mov ecx, esi
mov edx, edi
shrd ecx, edx, 1
push eax
sar edx, 1
sub ecx, dword [esp + 0x58]
sbb edx, dword [esp + 0x5c]
add ecx, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
call fcn.00d1f1d0
mulsd xmm0, qword [esp + 0x68]
addsd xmm0, qword [esp + 0x70]
call fcn.00d1f0c0
push edx
push eax
push dword [esp + 0x68]
push dword [esp + 0x44]
push dword [esp + 0x74]
push dword [esp + 0x40]
call fcn.004ab228
mov ecx, dword [esp + 0x3c]
add esp, 0x18
push eax
call fcn.004db04a
mov edx, dword [esp + 8]
add edx, esi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], edx
adc esi, edi
mov edi, dword [esp + 0x14]
mov dword [esp + 0xc], esi
cmp esi, dword [esp + 0x10]
jl 0x4d5109
jg 0x4d51d4
cmp edx, edi
jb 0x4d5109
lea ecx, [esp + 0x70]
call fcn.004fd1d6
test al, al
jne 0x4d4f4b
mov esi, dword [esp + 0x1c]
mov eax, dword [ebp + 0x18]
movzx ecx, byte [eax + 0x1c]
push ecx
mov ecx, esi
call fcn.0051136c
push dword [esp + 0xb8]
call fcn.00d75412
pop ecx
mov ecx, dword [esp + 0xcc]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00d1eeae
mov esp, ebp
pop ebp
ret 0x18