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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, dword [ebp + 0x18]
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov edx, esi
and edx, 0x7fffffff
lea eax, [edx - 0x3c010000]
lea ecx, [edx - 0x43ff0000]
cmp eax, ecx
mov ecx, dword [ebp + 0xc]
jae 0x49fd69
mov eax, ecx
shld edx, edi, 4
shld edi, ebx, 4
and ebx, 0xfffffff
neg eax
mov eax, 0x8000000
sbb eax, ebx
jae 0x49fda1
add edi, 1
adc edx, 0x40000000
jmp 0x49fdc2
xor eax, eax
neg ecx
mov ecx, 0
sbb ecx, ebx
mov ecx, 0
sbb ecx, edi
mov ecx, 0x7fff0000
sbb ecx, edx
jae 0x49fdcb
shld edx, edi, 4
shrd ebx, edi, 0x1c
and edx, 0x7ffff
mov ecx, ebx
or edx, 0x7ff80000
mov eax, edx
jmp 0x49ff5a
xor ebx, 0x8000000
add edx, 0x40000000
or ecx, ebx
jne 0x49fdc2
mov ecx, edi
and ecx, 1
add ecx, edi
adc edx, 0
mov eax, edx
jmp 0x49ff5a
mov ecx, edi
mov eax, edx
jmp 0x49ff5a
mov ecx, 0xffffffff
add ecx, 1
adc eax, 0x7fefffff
cmp edx, 0x43feffff
ja 0x49ff5a
shr edx, 0x10
mov eax, 0x3c01
xor ecx, ecx
sub eax, edx
mov dword [esp + 4], eax
cmp eax, 0x70
mov eax, 0
ja 0x49ff5a
mov eax, dword [ebp + 0xc]
movzx ecx, si
dec dl
or ecx, 0x10000
mov dword [esp + 0xc], ecx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], eax
mov eax, edx
mov byte [esp + 8], dl
and dl, 0x78
shr dl, 3
neg dl
movsx ecx, dl
mov edx, dword [esp + ecx + 0x70]
mov eax, dword [esp + ecx + 0x74]
or edx, dword [esp + ecx + 0x78]
mov dword [esp], eax
or eax, dword [esp + ecx + 0x7c]
mov ch, byte [esp + 8]
shr dword [esp], 1
and ch, 7
mov cl, ch
not cl
shr dword [esp], cl
mov cl, ch
shld eax, edx, cl
shl edx, cl
xor ecx, ecx
or edx, dword [esp]
or edx, eax
mov eax, dword [ebp + 0xc]
setne cl
mov dword [esp + 0x40], eax
mov dword [esp + 8], ecx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0xc]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 4]
mov edx, eax
shr al, 3
and al, 0xf
and dl, 7
movzx ecx, al
mov dword [esp], ecx
mov edi, dword [esp + ecx + 0x48]
mov eax, dword [esp + ecx + 0x4c]
mov ecx, edx
mov ebx, edi
add edi, edi
shrd ebx, eax, cl
mov ecx, dword [esp]
mov dword [esp + 4], ebx
mov ebx, dword [esp + ecx + 0x44]
mov ecx, edx
mov dword [esp + 0xc], ebx
shr ebx, cl
not cl
shl edi, cl
mov ecx, dword [esp]
or edi, ebx
mov ebx, dword [esp + ecx + 0x40]
mov ecx, edx
mov edx, dword [esp + 0xc]
shr eax, cl
shrd ebx, edx, cl
mov edx, dword [esp + 4]
or ebx, dword [esp + 8]
shld eax, edx, 4
shld edx, edi, 4
and edi, 0xfffffff
cmp ebx, 1
mov ecx, edi
sbb ecx, 0x8000000
jb 0x49ff42
add edx, 1
adc eax, 0
mov ecx, edx
jmp 0x49ff5a
xor edi, 0x8000000
mov ecx, edx
or ebx, edi
jne 0x49ff5a
mov edx, ecx
and ecx, 1
add edx, ecx
mov ecx, edx
adc eax, 0
and esi, 0x80000000
movd xmm0, ecx
mov ebx, ecx
or esi, eax
movd xmm1, esi
punpckldq xmm0, xmm1
js 0x49ffa7
cmp esi, 0x100000
jb 0x49ffa7
cmp esi, 0x7fefffff
ja 0x4a00d2
xor ecx, ecx
test ebx, ebx
jne 0x4a0226
pxor xmm0, xmm0
cmp esi, 0x3ff00000
mov eax, 0
je 0x4a00d2
jmp 0x49ffe3
movq qword [esp + 0x18], xmm0
mov ecx, 0x7fffffff
xor edx, edx
mov eax, dword [esp + 0x18]
and ecx, dword [esp + 0x1c]
mov edi, eax
or edi, ecx
sete dl
test esi, esi
movq xmm0, qword [edx*8 + 0x4df140]
js 0x4a00d2
or eax, ecx
je 0x4a00d2
xor ecx, ecx
mov eax, 0xffffffca
add esi, 0x95f62
movd xmm1, ebx
movsd xmm5, qword [0x4df168]
movapd xmm7, xmmword [0x4df180]
movsd xmm2, qword [0x4df158]
mov edx, esi
and esi, 0xfffff
add esi, 0x3fe6a09e
shr edx, 0x14
or esi, ecx
lea eax, [edx + eax - 0x3ff]
movd xmm0, esi
punpckldq xmm1, xmm0
movsd xmm0, qword [0x4df160]
addsd xmm1, qword [0x4df150]
addsd xmm0, xmm1
movapd xmm3, xmm1
mulsd xmm2, xmm1
divsd xmm3, xmm0
mulsd xmm2, xmm1
movapd xmm4, xmm3
mulsd xmm4, xmm3
movapd xmm0, xmm4
mulsd xmm0, xmm4
mulsd xmm5, xmm0
movapd xmm6, xmm0
addsd xmm5, qword [0x4df170]
unpcklpd xmm6, xmm0
unpcklpd xmm0, xmm4
unpcklpd xmm7, xmm5
movsd xmm5, qword [0x4df1b0]
mulpd xmm7, xmm6
addpd xmm7, xmmword [0x4df190]
mulpd xmm7, xmm6
addpd xmm7, xmmword [0x4df1a0]
mulpd xmm0, xmm7
movapd xmm4, xmm0
unpckhpd xmm4, xmm0
addsd xmm4, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
addsd xmm4, xmm2
mulsd xmm5, xmm0
mulsd xmm0, qword [0x4df1b8]
mulsd xmm4, xmm3
addsd xmm5, xmm4
subsd xmm5, xmm2
addsd xmm5, xmm1
addsd xmm0, xmm5
movq qword [esp + 0x10], xmm0
mov ebx, 0x7fffffff
mov ecx, 0x80000000
and ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
lea eax, [ebx - 0x100000]
shr eax, 0x15
cmp eax, 0x3fe
ja 0x4a0113
mov edi, ebx
shr ebx, 4
xor edx, edx
shld edi, esi, 0x1c
shl esi, 0x1c
add ebx, 0x3c000000
jmp 0x4a01fe
mov eax, ebx
shr eax, 0x14
cmp eax, 0x7ff
jb 0x4a0138
mov edi, ebx
shr ebx, 4
xor edx, edx
shld edi, esi, 0x1c
shl esi, 0x1c
or ebx, 0x7fff0000
jmp 0x4a01fe
mov eax, esi
or eax, ebx
je 0x4a01f6
bsr eax, esi
bsr ecx, ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
xor eax, 0x1f
xor ecx, 0x1f
add eax, 0x20
test ebx, ebx
cmovne eax, ecx
mov edx, eax
add al, 0x31
mov ch, al
shr al, 3
add edx, 0x75
and al, 0xf
and ch, 7
and edx, 0x7f
neg al
mov cl, ch
movsx eax, al
mov ebx, dword [esp + eax + 0x38]
mov dword [esp], ebx
shl ebx, cl
not cl
mov esi, dword [esp + eax + 0x34]
mov dword [esp + 4], eax
mov edi, esi
shr edi, 1
shr edi, cl
mov cl, ch
or edi, ebx
mov ebx, 0x3c01
sub ebx, edx
mov edx, dword [esp + eax + 0x3c]
mov eax, dword [esp]
shl ebx, 0x10
shld edx, eax, cl
mov eax, dword [esp + 4]
xor edx, 0x10000
or ebx, edx
mov edx, dword [esp + eax + 0x30]
shld esi, edx, cl
shl edx, cl
mov ecx, 0x80000000
jmp 0x4a01fe
xor edx, edx
xor esi, esi
xor edi, edi
xor ebx, ebx
movq qword [esp + 0x80], xmm0
mov eax, dword [ebp + 8]
and ecx, dword [esp + 0x84]
mov dword [eax], edx
mov dword [eax + 4], esi
mov dword [eax + 8], edi
or ecx, ebx
mov dword [eax + 0xc], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp 0x49ffe3