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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov esi, dword [ebp + 8]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0xf8], eax
cmp dword [0x101de200], 0
je 0x1007cce5
lea edi, [esi + 1]
mov bl, byte [edi - 1]
movsx eax, bl
cmp eax, 0x2a
jg 0x1007cb63
test eax, eax
je 0x1007cd25
lea ecx, [eax - 9]
cmp ecx, 5
jb 0x1007cb60
cmp eax, 0x20
jne 0x1007cb75
inc edi
jmp 0x1007cb40
cmp eax, 0x2d
je 0x1007cc5f
cmp eax, 0x2b
je 0x1007cd1e
dec edi
xor eax, eax
mov dword [esp + 0x3c], eax
cmp bl, 0x30
je 0x1007cc4d
mov eax, ebx
movsx ecx, al
add al, 0xd0
cmp al, 9
mov byte [esp + 0x18], bl
jbe 0x1007cbf9
cmp cl, 0x2e
jne 0x1007cca0
lea eax, [edi + 1]
mov dword [esp + 0x20], eax
mov al, byte [edi + 1]
xor edx, edx
cmp al, 0x30
jne 0x1007cbbc
inc edx
mov ecx, dword [esp + 0x20]
mov al, byte [ecx + 1]
inc ecx
mov dword [esp + 0x20], ecx
jmp 0x1007cba9
movsx ecx, al
lea eax, [ecx - 0x31]
cmp eax, 9
jae 0x1007cc71
add ecx, 0xffffffd0
inc edx
mov dword [esp + 8], 0
xor esi, esi
inc esi
mov dword [esp + 4], 0
mov eax, ecx
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], 0
jmp 0x1007cd75
mov dword [esp + 8], 0
xor esi, esi
xor ebx, ebx
cmp ebx, 8
ja 0x1007ccef
lea eax, [esi + esi*4]
lea esi, [ecx + eax*2]
add esi, 0xffffffd0
movsx ecx, byte [edi + ebx + 1]
inc ebx
mov eax, ecx
add al, 0xd0
cmp al, 0xa
jb 0x1007cc05
mov eax, ebx
add ebx, edi
mov dword [esp + 0xc], 0
cmp cl, 0x2e
mov dword [esp + 0x1c], eax
jne 0x1007ccda
mov dword [esp + 4], esi
mov esi, eax
mov dword [esp + 0x20], edi
jmp 0x1007cd38
mov al, byte [edi + 1]
inc edi
test al, al
je 0x1007cccf
cmp al, 0x30
jne 0x1007cb87
jmp 0x1007cc4d
xor eax, eax
inc eax
mov bl, byte [edi]
test bl, bl
jne 0x1007cb78
jmp 0x1007cd25
mov dword [esp + 8], 0
mov dword [esp + 0x10], edi
xor esi, esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x20]
jmp 0x1007cd9e
mov dword [esp + 8], 0
xor esi, esi
mov dword [esp + 0x10], edi
mov ebx, edi
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0
jmp 0x1007cd9e
xorpd xmm1, xmm1
mov ebx, edi
jmp 0x1007ce48
mov dword [esp + 0x40], eax
xor edx, edx
jmp 0x1007cd90
call fcn.100745f0
jmp 0x1007cb3d
mov dword [esp + 4], esi
mov dword [esp + 0x10], edi
mov edx, ebx
cmp ebx, 0xf
ja 0x1007cd0f
mov eax, dword [esp + 8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2]
add eax, 0xffffffd0
mov dword [esp + 8], eax
mov edi, dword [esp + 0x10]
mov ebx, edx
mov esi, dword [esp + 4]
jmp 0x1007cc17
xor eax, eax
jmp 0x1007cc62
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xorpd xmm1, xmm1
xor edx, edx
mov ebx, edi
jmp 0x1007ce4f
mov dword [esp + 0x40], esi
xor ecx, ecx
mov edx, ecx
movsx ecx, byte [ebx + ecx + 1]
lea eax, [ecx - 0x30]
cmp eax, 9
ja 0x1007cd85
lea ecx, [edx + 1]
test eax, eax
je 0x1007cd3e
lea esi, [ecx - 1]
test esi, esi
jg 0x1007ceae
mov edx, dword [esp + 0x40]
lea esi, [edx + 1]
cmp edx, 8
jg 0x1007cf1d
add dword [esp + 0xc], ecx
add ebx, ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*2]
mov dword [esp + 4], eax
jmp 0x1007cd38
add ebx, edx
inc ebx
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 4]
mov dword [esp + 0x10], edi
cmp dword [esp + 0x40], 0x10000
jg 0x1007cd25
and ecx, 0xffffffdf
xor edi, edi
cmp ecx, 0x45
je 0x1007cf3c
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x1007ce8f
mov eax, dword [esp + 0x1c]
test eax, eax
cmove eax, ecx
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
mov eax, 0x10
cmovl eax, ecx
movd xmm1, esi
por xmm1, xmmword [0x101a48e0]
subsd xmm1, qword [0x1019c438]
cmp eax, 0xa
jge 0x1007cfb7
sub edi, dword [esp + 0xc]
cmp ecx, 0xf
jg 0x1007d026
fnstcw word [esp + 0x5e]
movzx ecx, word [esp + 0x5e]
shr ecx, 9
and cl, 6
mov edx, 0x2d
shr edx, cl
mov ecx, dword [esp + 0x40]
and edx, 3
cmp edx, 1
jne 0x1007d026
test edi, edi
je 0x1007ce48
jg 0x1007cfdf
cmp edi, 0xffffffea
jl 0x1007d026
shl edi, 3
mov eax, 0x101a4978
sub eax, edi
divsd xmm1, qword [eax]
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
test ecx, ecx
je 0x1007ce55
mov dword [ecx], ebx
test edx, edx
je 0x1007ce61
xorpd xmm1, xmmword [0x1019c0b0]
movsd qword [esp + 0xd8], xmm1
fld qword [esp + 0xd8]
fstp xword [esp + 0x40]
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.1014dc80
fld xword [esp + 0x40]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xorpd xmm1, xmm1
cmp byte [esp + 0x18], 0x30
je 0x1007ce48
mov edi, dword [esp + 0x20]
test edx, edx
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
jne 0x1007ce4f
jmp 0x1007cd2b
mov dword [esp + 0x10], 0
mov esi, dword [esp + 4]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
add esi, edi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 8]
lea edi, [esi + esi]
mov dword [esp + 0x38], edi
cmp dword [esp + 0x14], 0x10
mov edi, dword [esp + 0x38]
lea edi, [edi + edi*4]
cmovge edi, esi
cmp dword [esp + 0x14], 9
mov esi, dword [esp + 4]
lea esi, [esi + esi]
lea esi, [esi + esi*4]
cmovge esi, dword [esp + 4]
cmovl edi, dword [esp + 8]
mov dword [esp + 8], edi
inc dword [esp + 0x10]
cmp edx, dword [esp + 0x10]
jne 0x1007ceba
mov dword [esp + 4], esi
mov edx, dword [esp + 0x40]
add edx, ecx
dec edx
jmp 0x1007cd63
add dword [esp + 0xc], ecx
add ebx, ecx
cmp edx, 0x10
mov edx, dword [esp + 8]
lea ecx, [edx + edx*4]
lea eax, [eax + ecx*2]
cmovl edx, eax
mov dword [esp + 8], edx
jmp 0x1007cd38
mov dword [esp + 0x20], ebx
mov dword [esp + 4], esi
cmp byte [esp + 0x18], 0x30
mov ecx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
je 0x1007cf5d
mov eax, dword [esp + 0x40]
or eax, edx
je 0x1007cd2b
mov eax, dword [esp + 0x20]
movsx eax, byte [eax + 1]
mov dword [esp + 0x38], 0
cmp eax, 0x2b
je 0x1007cf82
cmp eax, 0x2d
jne 0x1007d304
xor eax, eax
inc eax
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x20]
lea eax, [ecx + 2]
mov dword [esp + 0x14], eax
movsx eax, byte [ecx + 2]
lea ecx, [eax - 0x30]
xor edi, edi
cmp ecx, 9
ja 0x1007d288
cmp eax, 0x30
jne 0x1007d299
mov ecx, dword [esp + 0x14]
movsx eax, byte [ecx + 1]
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x1007cf9f
mulsd xmm1, qword [eax*8 + 0x101a4930]
movss xmm0, dword [esp + 8]
orpd xmm0, xmmword [0x101a48e0]
subsd xmm0, qword [0x1019c438]
addsd xmm1, xmm0
jmp 0x1007cdf4
mov dword [esp + 4], esi
mov dword [esp + 0x14], ebx
mov edx, dword [esp + 0x3c]
mov esi, dword [ebp + 0xc]
cmp edi, 0x16
jg 0x1007d007
mulsd xmm1, qword [edi*8 + 0x101a4978]
mov ecx, esi
mov ebx, dword [esp + 0x14]
jmp 0x1007ce4f
mov ecx, 0x25
mov edx, dword [esp + 0x40]
sub ecx, edx
cmp edi, ecx
mov ecx, edx
mov edx, esi
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 4]
jle 0x1007d312
mov dword [esp + 4], esi
movapd xmmword [esp + 0x20], xmm1
mov dword [esp + 0x14], ebx
sub ecx, eax
add ecx, edi
jle 0x1007d0b9
mov eax, ecx
and eax, 0xf
je 0x1007d056
movapd xmm0, xmmword [esp + 0x20]
mulsd xmm0, qword [eax*8 + 0x101a4978]
movapd xmmword [esp + 0x20], xmm0
mov eax, ecx
and eax, 0xfffffff0
je 0x1007d33d
cmp eax, 0x135
jl 0x1007d141
mov dword [esp + 0x18], 0
call sym.nss3.dll_PR_GetCurrentThread
mov dword [eax + 0x28], 0xffffe8b8
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
movsd xmm0, qword [0x101a4930]
movapd xmmword [esp + 0x20], xmm0
cmp dword [esp + 0x18], 0
jne 0x1007d9e1
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
movsd xmm1, qword [0x101a4930]
jmp 0x1007ce4f
mov dword [esp + 8], 0
test ecx, ecx
jns 0x1007d345
mov eax, ecx
neg eax
mov edx, eax
and edx, 0xf
je 0x1007d0e9
movapd xmm0, xmmword [esp + 0x20]
divsd xmm0, qword [edx*8 + 0x101a4978]
movapd xmmword [esp + 0x20], xmm0
mov edx, eax
shr edx, 4
je 0x1007d345
mov dword [esp + 0x18], 0
cmp ecx, 0xfffffe01
jge 0x1007d182
call sym.nss3.dll_PR_GetCurrentThread
mov dword [eax + 0x28], 0xffffe8b8
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
xorpd xmm0, xmm0
movapd xmmword [esp + 0x20], xmm0
cmp dword [esp + 0x18], 0
jne 0x1007d9e1
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
xorpd xmm1, xmm1
jmp 0x1007ce4f
mov dword [esp + 0x18], 0
cmp ecx, 0x20
jb 0x1007d207
shr ecx, 4
xor eax, eax
test cl, 1
je 0x1007d171
movapd xmm0, xmmword [esp + 0x20]
mulsd xmm0, qword [eax*8 + 0x101a4a30]
movapd xmmword [esp + 0x20], xmm0
inc eax
mov edx, ecx
shr edx, 1
cmp ecx, 3
mov ecx, edx
ja 0x1007d157
jmp 0x1007d209
mov ecx, 0x101a4a58
test dl, 1
je 0x1007d19c
movapd xmm0, xmmword [esp + 0x20]
mulsd xmm0, qword [ecx]
movapd xmmword [esp + 0x20], xmm0
shr edx, 1
add ecx, 8
test edx, edx
jne 0x1007d187
bt eax, 8
jae 0x1007d6a7
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp + 0xd0], xmm0
mov edx, dword [esp + 0xd4]
mov ebx, edx
shr ebx, 0x14
and ebx, 0x7ff
cmp ebx, 0x6a
ja 0x1007d6a7
cmp ebx, 0x4b
ja 0x1007d683
cmp ebx, 0x37
jb 0x1007db43
mov cl, 0x4b
sub cl, bl
shr edx, cl
shl edx, cl
movd xmm0, edx
psllq xmm0, 0x20
movdqa xmmword [esp + 0x20], xmm0
jmp 0x1007d6a7
xor eax, eax
movaps xmm0, xmmword [esp + 0x20]
movsd qword [esp + 0xc8], xmm0
mov ecx, 0xfcb00000
add ecx, dword [esp + 0xcc]
movd xmm0, ecx
movd xmm1, dword [esp + 0xc8]
punpckldq xmm1, xmm0
mulsd xmm1, qword [eax*8 + 0x101a4a30]
movsd qword [esp + 0xc0], xmm1
mov eax, dword [esp + 0xc4]
mov ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ca00000
ja 0x1007d074
mov dword [esp + 8], 0
cmp ecx, 0x7c900000
jbe 0x1007d6cf
movq xmm0, qword [0x101a48f8]
movdqa xmmword [esp + 0x20], xmm0
jmp 0x1007d345
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 4]
jmp 0x1007cdb7
lea ecx, [eax - 0x31]
cmp ecx, 8
ja 0x1007d334
lea esi, [eax - 0x30]
mov ecx, dword [esp + 0x14]
lea edi, [ecx + 1]
mov cl, byte [ecx + 1]
mov ch, cl
add ch, 0xd0
cmp ch, 9
ja 0x1007d2d9
movzx eax, cl
lea ebx, [esi + esi*4]
lea esi, [eax + ebx*2]
add esi, 0xffffffd0
mov cl, byte [edi + 1]
inc edi
mov ch, cl
add ch, 0xd0
cmp ch, 0xa
jb 0x1007d2bc
lea eax, [eax + ebx*2]
mov ebx, edi
mov ecx, edi
sub ecx, dword [esp + 0x14]
cmp ecx, 8
mov ecx, 0x4e1f
cmovg esi, ecx
cmp eax, 0x4e4f
cmovg esi, ecx
mov eax, esi
neg eax
cmp dword [esp + 0x38], 0
cmove eax, esi
mov edi, eax
jmp 0x1007d28c
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x14], ecx
jmp 0x1007cf91
mov eax, 0xf
sub eax, ecx
sub edi, eax
mulsd xmm1, qword [eax*8 + 0x101a4978]
mulsd xmm1, qword [edi*8 + 0x101a4978]
mov ecx, edx
jmp 0x1007ce4b
mov ebx, dword [esp + 0x14]
jmp 0x1007d28c
mov dword [esp + 8], 0
mov esi, dword [esp + 0x40]
lea eax, [esi + 8]
mov ecx, 0x38e38e39
imul ecx
xor ecx, ecx
cmp esi, 0xa
jl 0x1007d36f
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
xor ecx, ecx
xor eax, eax
inc eax
add eax, eax
inc ecx
cmp edx, eax
jg 0x1007d368
call fcn.1018f960
mov ecx, dword [esp + 4]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [eax + 0x10], 1
cmp dword [esp + 0x1c], 0xa
jl 0x1007d3c5
mov eax, dword [esp + 0x1c]
lea esi, [eax - 0xa]
add dword [esp + 0x10], 0xb
mov eax, dword [esp + 0x10]
movsx eax, byte [eax - 2]
add eax, 0xffffffd0
mov ecx, dword [esp + 0x18]
mov edx, 0xa
push eax
call fcn.1018fa10
add esp, 4
mov dword [esp + 0x18], eax
test esi, esi
je 0x1007d3d2
dec esi
inc dword [esp + 0x10]
jmp 0x1007d399
add dword [esp + 0x10], 0xa
mov dword [esp + 0x1c], 9
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x1c], eax
jge 0x1007d412
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x40], eax
xor esi, esi
mov eax, dword [esp + 0x10]
movsx eax, byte [eax + esi]
add eax, 0xffffffd0
mov ecx, dword [esp + 0x18]
mov edx, 0xa
push eax
call fcn.1018fa10
add esp, 4
mov dword [esp + 0x18], eax
inc esi
cmp dword [esp + 0x40], esi
jne 0x1007d3ea
mov ecx, edi
neg ecx
xor edx, edx
test edi, edi
cmovs edi, edx
mov eax, dword [esp + 0x18]
lea eax, [eax + 0xc]
mov dword [esp + 0x6c], eax
cmovns ecx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 8]
lea ecx, [eax + edi]
mov dword [esp + 0x68], ecx
neg eax
mov dword [esp + 0x64], eax
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 4]
call fcn.1018f960
mov dword [esp + 0x38], eax
add eax, 0xc
mov ecx, dword [esi + 0x10]
lea ecx, [ecx*4 + 8]
push ecx
push dword [esp + 0x70]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movdqa xmm0, xmmword [esp + 0x20]
lea ecx, [esp + 0xec]
lea edx, [esp + 0xe8]
call fcn.1018fad0
mov dword [esp + 0x58], eax
xor esi, esi
inc esi
mov ecx, esi
call fcn.1018f960
mov dword [eax + 0x14], esi
mov dword [esp + 0xc], eax
mov dword [eax + 0x10], esi
mov eax, dword [esp + 0xec]
test eax, eax
mov esi, eax
mov ecx, 0
cmovns esi, ecx
mov ecx, 0
cmovns ecx, eax
mov edx, dword [esp + 0x64]
add edx, eax
add edx, 0x433
mov dword [esp + 0x40], edx
sub eax, dword [esp + 8]
mov ebx, dword [esp + 0xe8]
add eax, ebx
mov edi, 0x36
sub edi, ebx
mov edx, dword [esp + 0x10]
add ecx, edx
cmp eax, 0xfffffc03
cmovl edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x68]
sub ebx, esi
add ebx, edi
add edi, ecx
cmp edi, ebx
mov dword [esp + 4], ebx
cmovl ebx, edi
cmp ebx, ecx
mov dword [esp + 0x40], ecx
cmovg ebx, ecx
test ebx, ebx
mov eax, 0
cmovs ebx, eax
sub edi, ebx
test edx, edx
jle 0x1007d54c
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
call fcn.1018fbf0
mov dword [esp + 0xc], eax
mov ecx, eax
mov esi, dword [esp + 0x58]
mov edx, esi
call fcn.1018fd00
mov dword [esp + 0x60], eax
mov ecx, esi
call fcn.1018fec0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x58], eax
test edi, edi
jle 0x1007d55f
mov ecx, dword [esp + 0x58]
mov edx, edi
call fcn.1018ff10
mov dword [esp + 0x58], eax
sub dword [esp + 4], ebx
cmp dword [esp + 0x1c], 0
jle 0x1007d57b
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
call fcn.1018fbf0
mov dword [esp + 0x38], eax
sub dword [esp + 0x40], ebx
cmp dword [esp + 4], 0
jle 0x1007d597
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 4]
call fcn.1018ff10
mov dword [esp + 0x38], eax
cmp dword [esp + 0x40], 0
jle 0x1007d5af
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x40]
call fcn.1018ff10
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x38]
call fcn.10190000
mov ecx, dword [eax + 0xc]
mov dword [esp + 4], ecx
mov edi, dword [eax + 0x10]
mov ebx, eax
mov dword [eax + 0xc], 0
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x10]
mov edx, edi
sub edx, ecx
jne 0x1007d6f0
mov edx, ebx
add edx, 0x14
shl ecx, 2
mov esi, dword [esp + 0xc]
mov esi, dword [esi + ecx + 0x10]
cmp dword [ebx + ecx + 0x10], esi
jne 0x1007d7ae
lea esi, [edx + ecx]
add esi, 0xfffffffc
add ecx, 0xfffffffc
cmp esi, edx
ja 0x1007d5e8
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp + 0x78], xmm0
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x7c]
cmp dword [esp + 4], 0
jne 0x1007d8f0
mov ecx, eax
and ecx, 0xfffff
or ecx, dword [esp + 0x40]
je 0x1007d836
test byte [esp + 0x40], 1
je 0x1007d99e
and eax, 0x7ff00000
add eax, 0xfcc00000
movd xmm0, eax
psllq xmm0, 0x20
movapd xmm1, xmmword [esp + 0x20]
subsd xmm1, xmm0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x20], xmm1
ucomisd xmm1, xmm0
jne 0x1007d99e
jnp 0x1007d104
jmp 0x1007d99e
mov esi, dword [esp + 0xd0]
mov ecx, 0x6b
sub ecx, ebx
shr esi, cl
shl esi, cl
movd xmm1, esi
movd xmm0, edx
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
pxor xmm0, xmm0
movapd xmm1, xmmword [esp + 0x20]
ucomisd xmm1, xmm0
jne 0x1007d6bd
jnp 0x1007d104
shl eax, 0x17
sar eax, 0x1f
and eax, 0x6a
mov dword [esp + 8], eax
jmp 0x1007d345
add eax, 0x3500000
movd xmm1, dword [esp + 0xc0]
movd xmm0, eax
punpckldq xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
jmp 0x1007d345
test edx, edx
js 0x1007d7b4
mov edi, ebx
mov ecx, ebx
lea edx, [esp + 0xf4]
call fcn.10190160
movdqa xmmword [esp + 0x40], xmm0
mov esi, dword [esp + 0xc]
mov ecx, esi
lea edx, [esp + 0xf0]
call fcn.10190160
mov ecx, dword [esp + 0xf4]
sub ecx, dword [esp + 0xf0]
mov eax, dword [ebx + 0x10]
sub eax, dword [esi + 0x10]
shl eax, 5
add eax, ecx
jle 0x1007d949
shl eax, 0x14
movaps xmm1, xmmword [esp + 0x40]
movsd qword [esp + 0xb0], xmm1
add eax, dword [esp + 0xb4]
movd xmm1, eax
movd xmm2, dword [esp + 0xb0]
punpckldq xmm2, xmm1
movdqa xmmword [esp + 0x40], xmm2
movapd xmm1, xmmword [esp + 0x40]
divsd xmm1, xmm0
movsd xmm0, qword [0x101a4900]
movapd xmm3, xmm1
ucomisd xmm0, xmm1
jae 0x1007d877
movsd xmm0, qword [0x1019c4b0]
mulsd xmm3, xmm0
cmp dword [esp + 4], 0
je 0x1007da21
movapd xmm1, xmm3
jmp 0x1007da2d
jae 0x1007d6f8
cmp dword [esp + 4], 0
jne 0x1007d99e
movdqa xmm0, xmmword [esp + 0x20]
movq qword [esp + 0x80], xmm0
cmp dword [esp + 0x80], 0
jne 0x1007d99e
mov ecx, dword [esp + 0x84]
test ecx, 0xfffff
jne 0x1007d99e
and ecx, 0x7ff00000
cmp ecx, 0x6b00001
jb 0x1007d99e
cmp edi, 1
jg 0x1007d810
cmp dword [ebx + 0x14], 0
je 0x1007d99e
xor edx, edx
inc edx
mov ecx, ebx
call fcn.1018ff10
mov ebx, eax
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x10]
sub eax, edx
je 0x1007dd15
test eax, eax
jle 0x1007d99e
movapd xmm0, xmmword [esp + 0x20]
movsd qword [esp + 0xe0], xmm0
mov eax, 0x7ff00000
and eax, dword [esp + 0xe4]
cmp dword [esp + 8], 0
je 0x1007db2d
cmp eax, 0x6b00000
ja 0x1007db2d
cmp eax, 0x3700000
jbe 0x1007d104
jmp 0x1007d9a5
movsd xmm1, qword [0x1019c0d0]
movapd xmm0, xmm1
cmp dword [esp + 4], 0
jne 0x1007da57
movaps xmm0, xmmword [esp + 0x20]
movsd qword [esp + 0xa8], xmm0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, ecx
and edx, 0xfffff
or edx, eax
je 0x1007db5e
movsd xmm0, qword [0x1019c0d0]
movsd xmm1, qword [0x1019c520]
test ecx, ecx
jne 0x1007da57
movsd xmm0, qword [0x1019c0d0]
movsd xmm1, qword [0x1019c520]
cmp eax, 1
jne 0x1007da57
jmp 0x1007d104
mov ecx, 0xfffff
mov esi, eax
and esi, ecx
cmp esi, ecx
jne 0x1007d974
mov esi, eax
and esi, 0x7ff00000
mov edx, eax
shr edx, 0x14
mov cl, 0x6b
sub cl, dl
xor edi, edi
dec edi
shl edi, cl
cmp esi, 0x6a00001
mov ecx, 0xffffffff
cmovae edi, ecx
xor ecx, ecx
cmp dword [esp + 8], 1
sbb ecx, ecx
or ecx, edi
cmp ecx, dword [esp + 0x40]
jne 0x1007d974
add esi, 0x100000
movd xmm0, esi
psllq xmm0, 0x20
movdqa xmmword [esp + 0x20], xmm0
jmp 0x1007d99e
shl eax, 0x14
movq qword [esp + 0xb8], xmm0
mov ecx, dword [esp + 0xbc]
sub ecx, eax
movd xmm1, ecx
movd xmm0, dword [esp + 0xb8]
punpckldq xmm0, xmm1
jmp 0x1007d76e
test byte [esp + 0x40], 1
je 0x1007d99e
and eax, 0x7ff00000
add eax, 0xfcc00000
movd xmm0, eax
psllq xmm0, 0x20
movapd xmm1, xmmword [esp + 0x20]
addsd xmm1, xmm0
movdqa xmmword [esp + 0x20], xmm1
cmp dword [esp + 8], 0
je 0x1007d9e1
movapd xmm0, xmmword [esp + 0x20]
mulsd xmm0, qword [0x101a4938]
movapd xmmword [esp + 0x20], xmm0
movsd qword [esp + 0x70], xmm0
cmp dword [esp + 0x74], 0
jne 0x1007d9e1
cmp dword [esp + 0x70], 0
jne 0x1007d9e1
call sym.nss3.dll_PR_GetCurrentThread
mov dword [eax + 0x28], 0xffffe8b8
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x58]
call fcn.1018fec0
mov ecx, dword [esp + 0x38]
call fcn.1018fec0
mov ecx, dword [esp + 0xc]
call fcn.1018fec0
mov ecx, dword [esp + 0x18]
call fcn.1018fec0
mov ecx, ebx
call fcn.1018fec0
mov ecx, dword [ebp + 0xc]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
movaps xmm1, xmmword [esp + 0x20]
jmp 0x1007ce4f
movapd xmm1, xmm3
xorpd xmm1, xmmword [0x1019c0b0]
fnstcw word [esp + 0x5c]
movzx ecx, word [esp + 0x5c]
shr ecx, 9
and cl, 6
mov eax, 0x2d
shr eax, cl
test al, 3
jne 0x1007da53
movsd xmm0, qword [0x1019c4b0]
addsd xmm1, xmm0
movapd xmm0, xmm3
movdqa xmm2, xmmword [esp + 0x20]
movq qword [esp + 0xa0], xmm2
mov ecx, dword [esp + 0xa4]
mov edi, ecx
and edi, 0x7ff00000
cmp edi, 0x7fe00000
jne 0x1007db98
mov edx, dword [esp + 0xa0]
lea eax, [ecx - 0x3500000]
movd xmm2, edx
movd xmm3, eax
punpckldq xmm2, xmm3
and eax, 0x7ff00000
add eax, 0xfcc00000
movd xmm3, eax
psllq xmm3, 0x20
mulsd xmm1, xmm3
addsd xmm1, xmm2
movsd qword [esp + 0x90], xmm1
mov eax, dword [esp + 0x94]
mov esi, eax
and esi, 0x7fe00000
cmp esi, 0x7ca00000
jb 0x1007dc6c
movsd xmm0, qword [0x101a48f8]
movapd xmmword [esp + 0x20], xmm0
cmp edx, 0xffffffff
jne 0x1007db06
movsd xmm0, qword [0x101a48f8]
movapd xmmword [esp + 0x20], xmm0
cmp ecx, 0x7fefffff
je 0x1007d074
mov ecx, dword [esp + 0x58]
call fcn.1018fec0
mov ecx, dword [esp + 0x38]
call fcn.1018fec0
mov ecx, dword [esp + 0xc]
call fcn.1018fec0
mov ecx, ebx
call fcn.1018fec0
jmp 0x1007d444
dec eax
movd xmm0, eax
movdqa xmm1, xmmword [0x1019c130]
punpckldq xmm1, xmm0
jmp 0x1007d998
movq xmm0, qword [0x101a48f0]
movdqa xmmword [esp + 0x20], xmm0
mov dword [esp + 8], 0x6a
jmp 0x1007d345
movapd xmm0, xmm3
movsd xmm2, qword [0x1019c4b0]
mulsd xmm0, xmm2
cmpltsd xmm3, qword [0x1019c0d0]
movapd xmm1, xmm3
andpd xmm1, xmm2
andnpd xmm3, xmm0
orpd xmm3, xmm1
movapd xmm1, xmm3
xorpd xmm1, xmmword [0x1019c0b0]
jmp 0x1007da53
cmp dword [esp + 8], 0
je 0x1007dbe1
cmp edi, 0x6a00000
ja 0x1007dbe1
movsd xmm2, qword [0x101a4908]
ucomisd xmm2, xmm0
jae 0x1007dcb2
movsd qword [esp + 0x98], xmm1
mov eax, dword [esp + 0x9c]
sub eax, edi
add eax, 0x6b00000
movd xmm2, eax
movd xmm1, dword [esp + 0x98]
punpckldq xmm1, xmm2
lea eax, [edi - 0x3400000]
movd xmm2, eax
psllq xmm2, 0x20
mulsd xmm2, xmm1
movapd xmm1, xmmword [esp + 0x20]
addsd xmm1, xmm2
movapd xmmword [esp + 0x20], xmm1
movapd xmm1, xmmword [esp + 0x20]
movsd qword [esp + 0x88], xmm1
cmp dword [esp + 8], 0
jne 0x1007db06
mov ecx, dword [esp + 0x8c]
mov eax, ecx
and eax, 0x7ff00000
cmp edi, eax
jne 0x1007db06
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
mov eax, dword [esp + 4]
or eax, dword [esp + 0x88]
and ecx, 0xfffff
or ecx, eax
jne 0x1007dc8d
movsd xmm1, qword [0x101a4928]
ucomisd xmm1, xmm0
jbe 0x1007db06
jmp 0x1007d9e1
add eax, 0x3500000
movd xmm2, dword [esp + 0x90]
movd xmm1, eax
punpckldq xmm2, xmm1
movdqa xmmword [esp + 0x20], xmm2
jmp 0x1007dc04
movsd xmm1, qword [0x101a4918]
ucomisd xmm1, xmm0
ja 0x1007d9e1
ucomisd xmm0, qword [0x101a4920]
jbe 0x1007db06
jmp 0x1007d9e1
movsd xmm1, qword [0x101a4910]
movapd xmm2, xmm0
subsd xmm2, xmm1
cvttsd2si eax, xmm2
xor eax, 0x80000000
cvttsd2si ecx, xmm0
ucomisd xmm0, xmm1
cmovae ecx, eax
test ecx, ecx
mov eax, 1
cmove ecx, eax
movd xmm0, ecx
por xmm0, xmmword [0x101a48e0]
subsd xmm0, qword [0x1019c438]
cmp dword [esp + 4], 0
je 0x1007dd04
movapd xmm1, xmm0
jmp 0x1007dbb9
movapd xmm1, xmmword [0x1019c0b0]
xorpd xmm1, xmm0
jmp 0x1007dbb9
mov ecx, ebx
lea eax, [ebx + edx*4]
add eax, 0x14
add ecx, 0x14
mov esi, dword [esp + 0xc]
lea edx, [esi + edx*4]
add edx, 0x10
mov esi, dword [edx]
cmp dword [eax - 4], esi
jne 0x1007dd40
add eax, 0xfffffffc
add edx, 0xfffffffc
cmp eax, ecx
ja 0x1007dd2a
jmp 0x1007d99e
jae 0x1007d836
jmp 0x1007d99e