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

Disassembly:
sub esp, 0x9c
push ebx
push ebp
xorps xmm0, xmm0
mov dword [esp + 0x20], 0xffffffff
push esi
mov esi, dword [esp + 0xb0]
xor ebx, ebx
movlpd qword [esp + 0x28], xmm0
movlpd qword [esp + 0x14], xmm0
movlpd qword [esp + 0x3c], xmm0
movlpd qword [esp + 0x34], xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x74], 1
mov dword [esp + 0x98], 1
mov dword [esp + 0x9c], 1
mov dword [esp + 0xa0], 1
mov dword [esp + 0xa4], 1
mov dword [esp + 0x44], ebx
push edi
test esi, esi
jle 0x4dcf55
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x18]
add ebp, 0xfffffffc
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x50], ecx
mov dword [esp + 0x80], eax
mov ecx, dword [ebp + 4]
lea eax, [ebp + 4]
mov dword [esp + 0x2c], eax
mov eax, ecx
cdq
mov esi, eax
mov edi, edx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x58], edi
test ecx, ecx
jns 0x4dcb5f
mov ecx, esi
mov eax, edi
neg ecx
mov dword [esp + 0x84], ecx
adc eax, 0
neg eax
mov dword [esp + 0x90], eax
jmp 0x4dcb6d
mov dword [esp + 0x84], esi
mov dword [esp + 0x90], edi
test ebx, ebx
je 0x4dcdfc
mov eax, dword [ebp]
mov ecx, esi
cdq
mov ebx, edi
sub ecx, eax
sbb ebx, edx
test ebx, ebx
jg 0x4dcb95
jl 0x4dcb8b
test ecx, ecx
jae 0x4dcb95
sub eax, esi
sbb edx, edi
mov dword [esp + 0x60], edx
jmp 0x4dcb9d
mov eax, ecx
mov dword [esp + 0x60], ebx
mov edx, ebx
cmp dword [esp + 0x48], 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x20], eax
jbe 0x4dce11
mov eax, dword [ebp - 4]
mov ecx, 2
mov ebx, dword [ebp]
cdq
mov ebp, eax
mov dword [esp + 0x10], edx
mov eax, ebx
mov dword [esp + 0x20], ebp
imul ecx
mov ecx, esi
sub ecx, eax
mov eax, edi
sbb eax, edx
add ecx, ebp
adc eax, dword [esp + 0x10]
test eax, eax
jg 0x4dcbfd
jl 0x4dcbe2
test ecx, ecx
jae 0x4dcbfd
mov eax, ebx
mov ecx, 2
imul ecx
mov ebp, eax
mov ebx, edx
sub ebp, esi
sbb ebx, edi
sub ebp, dword [esp + 0x20]
sbb ebx, dword [esp + 0x10]
jmp 0x4dcc16
mov eax, ebx
mov ecx, 2
imul ecx
mov ebp, esi
mov ebx, edi
sub ebp, eax
sbb ebx, edx
add ebp, dword [esp + 0x20]
adc ebx, dword [esp + 0x10]
cmp dword [esp + 0x48], 2
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
jbe 0x4dce2a
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax - 4]
mov eax, dword [eax - 8]
cdq
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x40], ecx
mov ecx, 3
mov dword [esp + 0x38], edx
imul ecx
mov edi, eax
mov ecx, edx
mov eax, dword [esp + 0x10]
mov edx, 3
imul edx
sub edi, eax
sbb ecx, edx
sub edi, dword [esp + 0x14]
sbb ecx, dword [esp + 0x38]
add edi, esi
mov dword [esp + 0x20], edi
adc ecx, dword [esp + 0x58]
mov dword [esp + 0x64], ecx
test ecx, ecx
jg 0x4dccce
jl 0x4dcc92
test edi, edi
jae 0x4dccce
mov eax, dword [esp + 0x40]
mov edi, 3
imul edi
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x10]
imul edi
sub eax, ecx
mov dword [esp + 0x64], edx
mov ecx, edx
sbb ecx, esi
sub eax, dword [esp + 0x8c]
sbb ecx, dword [esp + 0x58]
add eax, dword [esp + 0x14]
mov dword [esp + 0x20], eax
adc ecx, dword [esp + 0x38]
mov dword [esp + 0x64], ecx
jmp 0x4dccd2
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x48], 3
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
jbe 0x4dce3f
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov ebx, dword [eax - 4]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax - 8]
mov eax, dword [eax - 0xc]
cdq
mov dword [esp + 0x14], eax
mov eax, ecx
mov dword [esp + 0x38], ecx
mov ecx, 4
mov dword [esp + 0x34], edx
imul ecx
mov dword [esp + 0x40], ebx
mov ecx, eax
mov esi, edx
mov eax, ebx
mov edx, 6
imul edx
mov ebx, eax
mov edi, edx
mov eax, dword [esp + 0x10]
sub ebx, ecx
mov ecx, 4
sbb edi, esi
mov esi, dword [esp + 0x58]
imul ecx
mov ecx, dword [esp + 0x8c]
sub ebx, eax
sbb edi, edx
add ebx, ecx
adc edi, esi
add ebx, dword [esp + 0x14]
adc edi, dword [esp + 0x34]
test edi, edi
jg 0x4dcd9a
jl 0x4dcd5f
test ebx, ebx
jae 0x4dcd9a
mov eax, dword [esp + 0x38]
mov edx, 4
imul edx
mov ebx, eax
mov edi, edx
mov eax, dword [esp + 0x40]
mov edx, 6
imul edx
sub ebx, eax
mov eax, dword [esp + 0x10]
sbb edi, edx
mov edx, 4
imul edx
add ebx, eax
adc edi, edx
sub ebx, ecx
sbb edi, esi
sub ebx, dword [esp + 0x14]
sbb edi, dword [esp + 0x34]
jmp 0x4dcdde
mov eax, dword [esp + 0x38]
mov ecx, 4
imul ecx
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0x40]
mov edx, 6
imul edx
mov ebx, eax
mov edi, edx
mov eax, dword [esp + 0x10]
sub ebx, ecx
mov ecx, 4
sbb edi, esi
imul ecx
sub ebx, eax
sbb edi, edx
add ebx, dword [esp + 0x8c]
adc edi, dword [esp + 0x58]
add ebx, dword [esp + 0x14]
adc edi, dword [esp + 0x34]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x10], ebp
jmp 0x4dce50
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], eax
mov esi, dword [esp + 0x20]
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x94]
add ebp, dword [esp + 0x84]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x98]
adc ebp, dword [esp + 0x90]
add dword [esp + 0x4c], esi
mov dword [esp + 0x98], ebp
adc dword [esp + 0x68], edx
mov ebp, dword [esp + 0x50]
add ebp, dword [esp + 0x14]
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x10]
adc dword [esp + 0x6c], ebp
add dword [esp + 0x54], eax
adc dword [esp + 0x74], ecx
add dword [esp + 0x80], ebx
adc dword [esp + 0x70], edi
cmp dword [esp + 0x90], 0
ja 0x4dcec0
cmp dword [esp + 0x84], 0x7fffffff
jbe 0x4dcec8
mov dword [esp + 0x78], 0
test edx, edx
jne 0x4dced4
cmp esi, 0x7fffffff
jbe 0x4dcedf
mov dword [esp + 0x9c], 0
test ebp, ebp
jne 0x4dceed
cmp dword [esp + 0x14], 0x7fffffff
jbe 0x4dcef8
mov dword [esp + 0xa0], 0
test ecx, ecx
jne 0x4dcf03
cmp eax, 0x7fffffff
jbe 0x4dcf0e
mov dword [esp + 0xa4], 0
test edi, edi
jne 0x4dcf1a
cmp ebx, 0x7fffffff
jbe 0x4dcf25
mov dword [esp + 0xa8], 0
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0xb4]
inc ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], ebp
cmp ebx, esi
jl 0x4dcb24
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0x98]
jmp 0x4dcfa6
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x80], eax
movsd xmm0, qword [0x53ae40]
cmp dword [esp + 0x78], 0
movss xmm1, dword [0x53ae50]
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [0x53ae48]
movsd qword [esp + 0x40], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x78], xmm0
je 0x4dd062
cmp ebp, 0xffffffff
ja 0x4dd062
jb 0x4dcfea
cmp ebx, 0xffffffff
jae 0x4dd062
mov edx, ebp
mov dword [esp + 0x28], ebx
mov ecx, ebx
mov dword [esp + 0x24], ebp
call fcn.00509b60
movd xmm1, esi
cvtdq2pd xmm1, xmm1
shr esi, 0x1f
movsd qword [esp + 0x2c], xmm0
addsd xmm1, qword [esi*8 + 0x5145a0]
movsd qword [esp + 0x18], xmm1
test ebp, ebp
jne 0x4dd032
test ebx, ebx
jne 0x4dd032
movsd xmm2, qword [esp + 0x78]
movaps xmm3, xmm2
cvtsd2ss xmm3, xmm3
jmp 0x4dd097
mulsd xmm0, qword [esp + 0x38]
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_log
movsd xmm1, qword [esp + 0x18]
movaps xmm3, xmm0
mulsd xmm3, qword [esp + 0x40]
movsd xmm0, qword [esp + 0x2c]
movsd xmm2, qword [esp + 0x78]
cvtsd2ss xmm3, xmm3
jmp 0x4dd097
mov edx, ebp
movss dword [esp + 0x2c], xmm1
mov ecx, ebx
call fcn.00509b60
movsd xmm2, qword [esp + 0x78]
movss xmm3, dword [esp + 0x2c]
movd xmm1, esi
cvtdq2pd xmm1, xmm1
shr esi, 0x1f
addsd xmm1, qword [esi*8 + 0x5145a0]
movsd qword [esp + 0x18], xmm1
cmp dword [esp + 0x9c], 0
mov edi, dword [esp + 0xb8]
mov edx, dword [esp + 0x24]
movss dword [edi], xmm3
je 0x4dd126
mov eax, dword [esp + 0x68]
cmp eax, edx
ja 0x4dd126
mov ecx, dword [esp + 0x4c]
jb 0x4dd0c4
cmp ecx, dword [esp + 0x28]
jae 0x4dd126
mov dword [esp + 0x28], ecx
mov esi, 1
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x4dd0e7
test ebx, ebx
jne 0x4dd0e7
mulsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x2c], xmm0
jmp 0x4dd111
mulsd xmm0, qword [esp + 0x38]
movsd qword [esp + 0x2c], xmm0
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_log
movsd xmm1, qword [esp + 0x18]
movaps xmm2, xmm0
mulsd xmm2, qword [esp + 0x40]
movsd xmm0, qword [esp + 0x2c]
mov edx, dword [esp + 0x24]
xorps xmm3, xmm3
cvtsd2ss xmm3, xmm2
movss xmm2, dword [0x53ae50]
jmp 0x4dd13f
mulsd xmm0, qword [esp + 0x38]
xor esi, esi
movss xmm2, dword [0x53ae50]
movaps xmm3, xmm2
movsd qword [esp + 0x2c], xmm0
cmp dword [esp + 0xa0], 0
movss dword [edi + 4], xmm3
je 0x4dd1ae
mov eax, dword [esp + 0x6c]
cmp eax, edx
ja 0x4dd1ae
mov ecx, dword [esp + 0x50]
jb 0x4dd162
cmp ecx, dword [esp + 0x28]
jae 0x4dd1ae
mov dword [esp + 0x28], ecx
mov esi, 2
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x4dd18d
test ebx, ebx
jne 0x4dd18d
movsd xmm0, qword [esp + 0x78]
mov edx, eax
movss xmm2, dword [0x53ae50]
cvtsd2ss xmm0, xmm0
jmp 0x4dd1b1
divsd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_log
mulsd xmm0, qword [esp + 0x40]
mov edx, dword [esp + 0x24]
movss xmm2, dword [0x53ae50]
cvtsd2ss xmm0, xmm0
jmp 0x4dd1b1
movaps xmm0, xmm2
cmp dword [esp + 0xa4], 0
movss dword [edi + 8], xmm0
je 0x4dd228
mov eax, dword [esp + 0x74]
cmp eax, edx
ja 0x4dd228
mov ecx, dword [esp + 0x54]
jb 0x4dd1d4
cmp ecx, dword [esp + 0x28]
jae 0x4dd228
mov dword [esp + 0x28], ecx
mov esi, 3
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x4dd1ff
test ebx, ebx
jne 0x4dd1ff
movsd xmm0, qword [esp + 0x78]
mov edx, eax
movss xmm2, dword [0x53ae50]
cvtsd2ss xmm0, xmm0
jmp 0x4dd22b
movsd xmm0, qword [esp + 0x2c]
divsd xmm0, qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_log
mulsd xmm0, qword [esp + 0x40]
mov edx, dword [esp + 0x24]
movss xmm2, dword [0x53ae50]
cvtsd2ss xmm0, xmm0
jmp 0x4dd22b
movaps xmm0, xmm2
cmp dword [esp + 0xa8], 0
movss dword [edi + 0xc], xmm0
je 0x4dd282
cmp dword [esp + 0x70], edx
ja 0x4dd282
jb 0x4dd24f
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x28]
jae 0x4dd282
mov esi, 4
test ebp, ebp
jne 0x4dd264
test ebx, ebx
jne 0x4dd264
movsd xmm0, qword [esp + 0x78]
jmp 0x4dd27b
movsd xmm0, qword [esp + 0x2c]
divsd xmm0, qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_log
mulsd xmm0, qword [esp + 0x40]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
movss dword [edi + 0x10], xmm2
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret