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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x208
movsd xmm2, qword [0x1020b360]
xorps xmm3, xmm3
push esi
push edi
mov edi, ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x18], edi
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x48], xmm3
nop
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
mov eax, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x68], edx
mov eax, dword [edx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
mov edi, dword [esp + 0x18]
mov edx, dword [ecx]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x44], ecx
add ecx, 4
mov al, byte [edi + 0x38]
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], ecx
mov byte [esp + 0x2f], al
test al, 0xc
je 0x1013fdfc
mov eax, dword [edi + 0x40]
add eax, 0xffffffff
mov dword [esp + 0x58], eax
mov dword [edi + 0x40], eax
mov al, byte [esp + 0x2f]
je 0x1013fd33
test al, 4
je 0x1013fdfc
mov esi, dword [edi + 0x18]
mov dword [edi + 0x18], ecx
test al, 8
je 0x1013fd63
cmp dword [esp + 0x58], 0
jne 0x1013fd63
mov eax, dword [edi + 0x3c]
mov edx, 3
push 0xffffffffffffffff
mov ecx, edi
mov dword [edi + 0x40], eax
call fcn.10145520
mov ecx, dword [esp + 0x18]
add esp, 4
mov al, byte [esp + 0x2f]
test al, 4
je 0x1013fdd7
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x58], edx
mov edx, ecx
sub edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
sar edx, 2
dec edx
test eax, eax
je 0x1013fd96
mov edi, dword [eax + edx*4]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
jmp 0x1013fd9e
mov dword [esp + 0x1c], 0
test edx, edx
je 0x1013fdc3
cmp ecx, esi
jbe 0x1013fdc3
test eax, eax
je 0x1013fdb7
sub esi, dword [esp + 0x58]
sar esi, 2
mov ecx, dword [eax + esi*4 - 4]
jmp 0x1013fdb9
xor ecx, ecx
mov eax, dword [esp + 0x1c]
cmp eax, ecx
je 0x1013fdd7
jmp 0x1013fdc7
mov eax, dword [esp + 0x1c]
push eax
mov edx, 2
mov ecx, edi
call fcn.10145520
add esp, 4
cmp byte [edi + 6], 1
je 0x10141a8b
mov eax, dword [edi + 0xc]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
mov eax, edx
mov edi, edx
shr eax, 6
and edi, 0x3f
movzx eax, al
mov esi, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
shl esi, 4
mov dword [esp + 0x58], esi
add esi, eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x50], edi
cmp edi, 0x2a
ja case.default.0x1013fe2d
jmp dword [edi*4 + 0x10141a98]
shr edx, 0x17
add edx, edx
mov eax, dword [eax + edx*8]
mov dword [esi], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edx*8 + 4]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edx*8 + 8]
mov dword [esi + 8], eax
jmp case.default.0x1013fe2d
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x24]
mov eax, dword [edx]
mov dword [esi], eax
mov eax, dword [edx + 4]
mov dword [esi + 4], eax
mov eax, dword [edx + 8]
mov dword [esi + 8], eax
jmp case.default.0x1013fe2d
mov ecx, edx
mov dword [esi + 8], 1
and ecx, 0x7fc000
mov eax, edx
shr eax, 0x17
neg ecx
mov dword [esi], eax
sbb ecx, ecx
and ecx, 4
add ecx, 4
add ecx, dword [esp + 0x60]
jmp case.default.0x1013fe2d
shr edx, 0x17
shl edx, 4
add eax, edx
nop dword [eax]
mov dword [eax + 8], 0
sub eax, 0x10
cmp eax, esi
jae 0x1013feb0
jmp case.default.0x1013fe2d
mov eax, dword [esp + 0x68]
lfence
shr edx, 0x17
mov eax, dword [eax + edx*4 + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
jmp case.default.0x1013fe2d
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
shr edx, 0xe
shl edx, 4
add edx, dword [esp + 0x24]
lfence
mov eax, dword [eax + 0xc]
push esi
push edx
mov dword [esp + 0x78], eax
lea edx, [esp + 0x78]
mov dword [esp + 0x80], 5
mov dword [edi + 0x18], ecx
mov ecx, edi
call fcn.1013ec90
add esp, 8
mov eax, dword [edi + 0xc]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
lfence
mov dword [edi + 0x18], ecx
mov ecx, edx
shr ecx, 0xe
test ecx, 0x100
je 0x1013ff76
movzx eax, cl
mov ecx, dword [esp + 0x24]
shl eax, 4
shr edx, 0x17
add ecx, eax
mov eax, dword [esp + 0x20]
shl edx, 4
push esi
add edx, eax
push ecx
jmp 0x1013ff1d
and ecx, 0x1ff
shr edx, 0x17
shl ecx, 4
add ecx, eax
shl edx, 4
push esi
add edx, eax
push ecx
jmp 0x1013ff1d
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
shr edx, 0xe
lfence
mov eax, dword [eax + 0xc]
shl edx, 4
add edx, dword [esp + 0x24]
push esi
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
lea edx, [esp + 0x88]
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], 5
call fcn.1013edc0
jmp 0x1013ff24
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x18]
lfence
shr edx, 0x17
mov edx, dword [eax + edx*4 + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x50], edx
mov ecx, dword [edx + 8]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
cmp dword [esi + 8], 4
mov ecx, dword [esp + 0x14]
jl case.default.0x1013fe2d
mov ecx, dword [esp + 0x14]
lfence
mov eax, dword [esi]
test byte [eax + 5], 3
je case.default.0x1013fe2d
mov dl, byte [edx + 5]
test dl, 4
je case.default.0x1013fe2d
mov eax, dword [edi + 0x10]
cmp byte [eax + 0x15], 1
jne 0x10140043
lfence
mov edx, dword [esi]
mov ecx, eax
call fcn.10141b50
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov al, byte [eax + 0x14]
and dl, 0xf8
mov ecx, dword [esp + 0x50]
and al, 3
or al, dl
mov byte [ecx + 5], al
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
lfence
mov dword [edi + 0x18], ecx
mov ecx, edx
shr ecx, 0xe
test ecx, 0x100
je 0x10140086
movzx eax, cl
mov ecx, dword [esp + 0x24]
shl eax, 4
add ecx, eax
mov eax, dword [esp + 0x20]
jmp 0x10140091
and ecx, 0x1ff
shl ecx, 4
add ecx, eax
shr edx, 0x17
test edx, 0x100
je 0x101400b6
movzx eax, dl
mov edx, esi
shl eax, 4
add eax, dword [esp + 0x24]
push ecx
push eax
mov ecx, edi
call fcn.1013edc0
jmp 0x1013ff24
shl edx, 4
add eax, edx
mov edx, esi
push ecx
push eax
mov ecx, edi
call fcn.1013edc0
jmp 0x1013ff24
mov edi, dword [esp + 0x18]
mov eax, edx
shr edx, 0xe
and edx, 0x1ff
shr eax, 0x17
mov ecx, edx
shr ecx, 3
lfence
and ecx, 0x1f
je 0x101400f3
and edx, 7
dec ecx
add edx, 8
shl edx, cl
mov ecx, eax
sar ecx, 3
and ecx, 0x1f
je 0x10140106
and eax, 7
dec ecx
add eax, 8
shl eax, cl
push edx
mov edx, eax
mov ecx, edi
call fcn.10143240
add esp, 4
mov dword [esi], eax
mov dword [esi + 8], 5
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x14]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x44]
cmp eax, dword [ecx + 0x40]
jb 0x1013ff27
mov ecx, edi
call fcn.10142a90
jmp 0x1013ff27
mov edi, dword [esp + 0x20]
mov eax, edx
shr eax, 0x17
shl eax, 4
add edi, eax
shr edx, 0xe
mov dword [esp + 0x50], edi
lfence
mov eax, dword [edi]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 4]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 8]
mov edi, dword [esp + 0x18]
mov dword [esi + 0x18], eax
mov dword [edi + 0x18], ecx
test edx, 0x100
je 0x1014018b
movzx eax, dl
mov edx, dword [esp + 0x50]
shl eax, 4
add eax, dword [esp + 0x24]
push esi
push eax
jmp 0x1013ff1d
mov eax, dword [esp + 0x20]
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x50]
push esi
push eax
jmp 0x1013ff1d
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x10], eax
test eax, 0x100
mov eax, dword [esp + 0x20]
je 0x101401d1
mov eax, dword [esp + 0x10]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
jmp 0x101401de
mov edi, dword [esp + 0x10]
shl edi, 4
add edi, eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
shr edx, 0xe
test edx, 0x100
je 0x101401f9
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x10140204
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x10]
cmp dword [edx + 8], 3
jne 0x1014022c
cmp dword [eax + 8], 3
jne 0x1014022c
movsd xmm0, qword [eax]
addsd xmm0, qword [edx]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
push 5
push eax
lfence
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.1013faf0
add esp, 0xc
jmp 0x1013ff27
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x10], eax
test eax, 0x100
mov eax, dword [esp + 0x20]
je 0x10140273
mov eax, dword [esp + 0x10]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
jmp 0x10140280
mov edi, dword [esp + 0x10]
shl edi, 4
add edi, eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
shr edx, 0xe
test edx, 0x100
je 0x1014029b
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x101402a6
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [edx + 8], 3
jne 0x101402d2
cmp dword [eax + 8], 3
jne 0x101402d2
movsd xmm0, qword [edx]
subsd xmm0, qword [eax]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
lfence
mov dword [edi + 0x18], ecx
lea edx, [esp + 0xa0]
mov ecx, dword [esp + 0x1c]
call fcn.1013ea80
mov dword [esp + 0x50], eax
test eax, eax
je 0x10140323
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xb0]
lfence
call fcn.1013ea80
test eax, eax
je 0x10140323
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [ecx]
subsd xmm0, qword [eax]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp 0x1013ff27
mov edx, dword [esp + 0x1c]
mov ecx, edi
push 6
push esi
mov esi, dword [esp + 0x18]
push esi
lfence
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x1013ff27
lea edx, [esp + 0xc0]
mov ecx, dword [esp + 0x1c]
lfence
call fcn.1013ea80
test eax, eax
mov ecx, edi
push str.perform_arithmetic_on
cmove esi, dword [esp + 0x20]
mov edx, esi
call fcn.10144db0
add esp, 4
jmp 0x1013ff27
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x10], eax
test eax, 0x100
mov eax, dword [esp + 0x20]
je 0x101403a0
mov eax, dword [esp + 0x10]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
jmp 0x101403ad
mov edi, dword [esp + 0x10]
shl edi, 4
add edi, eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
shr edx, 0xe
test edx, 0x100
je 0x101403c8
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x101403d3
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [edx + 8], 3
jne 0x101403ff
cmp dword [eax + 8], 3
jne 0x101403ff
movsd xmm0, qword [eax]
mulsd xmm0, qword [edx]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
lfence
mov dword [edi + 0x18], ecx
lea edx, [esp + 0xd0]
mov ecx, dword [esp + 0x1c]
call fcn.1013ea80
mov dword [esp + 0x50], eax
test eax, eax
je 0x10140450
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xe0]
lfence
call fcn.1013ea80
test eax, eax
je 0x10140450
movsd xmm0, qword [eax]
mov eax, dword [esp + 0x50]
mulsd xmm0, qword [eax]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp 0x1013ff27
mov edx, dword [esp + 0x1c]
mov ecx, edi
push 7
push esi
mov esi, dword [esp + 0x18]
push esi
lfence
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x1013ff27
lea edx, [esp + 0xf0]
jmp 0x1014034b
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x10], eax
test eax, 0x100
mov eax, dword [esp + 0x20]
je 0x101404a9
mov eax, dword [esp + 0x10]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
jmp 0x101404b6
mov edi, dword [esp + 0x10]
shl edi, 4
add edi, eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
shr edx, 0xe
test edx, 0x100
je 0x101404d1
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x101404dc
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [edx + 8], 3
jne 0x10140508
cmp dword [eax + 8], 3
jne 0x10140508
movsd xmm0, qword [edx]
divsd xmm0, qword [eax]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
lfence
mov dword [edi + 0x18], ecx
lea edx, [esp + 0x100]
mov ecx, dword [esp + 0x1c]
call fcn.1013ea80
mov dword [esp + 0x50], eax
test eax, eax
je 0x10140559
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x110]
lfence
call fcn.1013ea80
test eax, eax
je 0x10140559
mov ecx, dword [esp + 0x50]
movsd xmm0, qword [ecx]
divsd xmm0, qword [eax]
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp 0x1013ff27
mov edx, dword [esp + 0x1c]
mov ecx, edi
push 8
push esi
mov esi, dword [esp + 0x18]
push esi
lfence
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x1013ff27
lea edx, [esp + 0x120]
jmp 0x1014034b
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x10], eax
test eax, 0x100
mov eax, dword [esp + 0x20]
je 0x101405b2
mov eax, dword [esp + 0x10]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
jmp 0x101405bf
mov edi, dword [esp + 0x10]
shl edi, 4
add edi, eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
shr edx, 0xe
test edx, 0x100
je 0x101405da
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x101405e5
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
cmp dword [edx + 8], 3
jne 0x1014065b
cmp dword [eax + 8], 3
jne 0x1014065b
movsd xmm0, qword [edx]
sub esp, 8
movsd qword [esp + 0x60], xmm0
divsd xmm0, qword [eax]
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fstp qword [esp]
call fcn.101bfdc0
mov ecx, dword [esp + 0x30]
add esp, 8
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
fstp qword [esp + 0x50]
movsd xmm0, qword [esp + 0x50]
mulsd xmm0, qword [ecx]
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], 3
subsd xmm1, xmm0
movsd qword [esi], xmm1
jmp case.default.0x1013fe2d
lfence
mov dword [edi + 0x18], ecx
lea edx, [esp + 0x130]
mov ecx, dword [esp + 0x1c]
call fcn.1013ea80
mov dword [esp + 0x50], eax
test eax, eax
je 0x101406e7
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x140]
lfence
call fcn.1013ea80
mov dword [esp + 0x58], eax
test eax, eax
je 0x101406e7
mov ecx, dword [esp + 0x50]
sub esp, 8
movsd xmm0, qword [ecx]
movsd qword [esp + 0x68], xmm0
divsd xmm0, qword [eax]
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fstp qword [esp]
call fcn.101bfdc0
mov eax, dword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
fstp qword [esp + 0x58]
movsd xmm0, qword [esp + 0x58]
mulsd xmm0, qword [eax]
mov dword [esi + 8], 3
subsd xmm1, xmm0
movsd qword [esi], xmm1
jmp 0x1013ff24
mov edx, dword [esp + 0x1c]
mov ecx, edi
push 9
push esi
mov esi, dword [esp + 0x30]
push esi
lfence
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x1013ff27
lea edx, [esp + 0x150]
jmp 0x1014034b
mov eax, edx
shr eax, 0x17
mov dword [esp + 0x10], eax
test eax, 0x100
mov eax, dword [esp + 0x20]
je 0x10140740
mov eax, dword [esp + 0x10]
movzx eax, al
shl eax, 4
add eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
jmp 0x1014074d
mov edi, dword [esp + 0x10]
shl edi, 4
add edi, eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
shr edx, 0xe
test edx, 0x100
je 0x10140768
movzx eax, dl
shl eax, 4
add eax, dword [esp + 0x24]
jmp 0x10140773
and edx, 0x1ff
shl edx, 4
add eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
cmp dword [edx + 8], 3
jne 0x101407b4
cmp dword [eax + 8], 3
jne 0x101407b4
movsd xmm0, qword [edx]
movsd xmm1, qword [eax]
call fcn.101bed30
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movsd qword [esi], xmm0
mov dword [esi + 8], 3
jmp case.default.0x1013fe2d
lfence
mov dword [edi + 0x18], ecx
lea edx, [esp + 0x160]
mov ecx, dword [esp + 0x1c]
call fcn.1013ea80
mov dword [esp + 0x50], eax
test eax, eax
je 0x1014080a
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x170]
lfence
call fcn.1013ea80
test eax, eax
je 0x1014080a
mov ecx, dword [esp + 0x50]
movsd xmm1, qword [eax]
movsd xmm0, qword [ecx]
call fcn.101bed30
movsd qword [esi], xmm0
mov dword [esi + 8], 3
jmp 0x1013ff27
mov edx, dword [esp + 0x1c]
mov ecx, edi
push 0xa
push esi
mov esi, dword [esp + 0x18]
push esi
lfence
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x1013ff27
lea edx, [esp + 0x180]
jmp 0x1014034b
mov edi, dword [esp + 0x18]
shr edx, 0x17
shl edx, 4
add eax, edx
mov dword [esp + 0x10], eax
cmp dword [eax + 8], 3
jne 0x10140864
movsd xmm0, qword [eax]
xorps xmm0, xmm2
mov dword [esi + 8], 3
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
lfence
mov dword [edi + 0x18], ecx
lea edx, [esp + 0x190]
mov ecx, eax
call fcn.1013ea80
mov dword [esp + 0x50], eax
test eax, eax
je 0x101408c9
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x1a0]
lfence
call fcn.1013ea80
test eax, eax
je 0x101408c9
mov eax, dword [esp + 0x50]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movsd xmm0, qword [eax]
xorps xmm0, xmm2
mov dword [esi + 8], 3
movsd qword [esi], xmm0
mov eax, dword [edi + 0xc]
mov dword [esp + 0x20], eax
jmp case.default.0x1013fe2d
push 0xb
push esi
mov esi, dword [esp + 0x18]
mov ecx, edi
push esi
mov edx, esi
lfence
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x10140906
lea edx, [esp + 0x1b0]
mov ecx, esi
lfence
call fcn.1013ea80
push str.perform_arithmetic_on
mov edx, esi
mov ecx, edi
call fcn.10144db0
add esp, 4
mov eax, dword [edi + 0xc]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x20], eax
jmp case.default.0x1013fe2d
shr edx, 0x17
add edx, edx
cmp dword [eax + edx*8 + 8], 0
je 0x1014094b
cmp dword [eax + edx*8 + 8], 1
jne 0x1014093b
cmp dword [eax + edx*8], 0
je 0x1014094b
xor eax, eax
mov dword [esi + 8], 1
mov dword [esi], eax
jmp case.default.0x1013fe2d
mov eax, 1
mov dword [esi], eax
mov dword [esi + 8], eax
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x24]
shr ecx, 0x17
test ecx, 0x100
je 0x1014097d
mov eax, dword [esp + 0x20]
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10140982
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x10], ecx
test edx, 0x100
je 0x1014099b
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x101409a6
and edx, 0x1ff
add edx, edx
lea esi, [eax + edx*8]
cmp dword [ecx + 8], 3
jne 0x10140a04
cmp dword [esi + 8], 3
jne 0x10140a04
movsd xmm0, qword [esi]
call fcn.101bce0f
mov esi, eax
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
call fcn.101bce0f
movsd xmm2, qword [esp + 0x30]
and esi, eax
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov dword [eax + 8], 3
addsd xmm0, qword [esi*8 + 0x1020b340]
movsd qword [eax], xmm0
jmp case.default.0x1013fe2d
lea edx, [esp + 0x1c0]
lfence
call fcn.1013ea80
test eax, eax
cmove esi, dword [esp + 0x10]
push str.perform_arithmetic_on
mov edx, esi
mov ecx, edi
call fcn.10144db0
movsd xmm2, qword [esp + 0x34]
add esp, 4
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x24]
shr ecx, 0x17
test ecx, 0x100
je 0x10140a63
mov eax, dword [esp + 0x20]
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10140a68
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x10], ecx
test edx, 0x100
je 0x10140a81
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x10140a8c
and edx, 0x1ff
add edx, edx
lea esi, [eax + edx*8]
cmp dword [ecx + 8], 3
jne 0x10140aea
cmp dword [esi + 8], 3
jne 0x10140aea
movsd xmm0, qword [esi]
call fcn.101bce0f
mov esi, eax
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
call fcn.101bce0f
movsd xmm2, qword [esp + 0x30]
or esi, eax
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov dword [eax + 8], 3
addsd xmm0, qword [esi*8 + 0x1020b340]
movsd qword [eax], xmm0
jmp case.default.0x1013fe2d
lea edx, [esp + 0x1d0]
lfence
call fcn.1013ea80
test eax, eax
mov ecx, edi
push str.perform_arithmetic_on
cmove esi, dword [esp + 0x14]
mov edx, esi
call fcn.10144db0
movsd xmm2, qword [esp + 0x34]
add esp, 4
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x24]
shr ecx, 0x17
test ecx, 0x100
je 0x10140b49
mov eax, dword [esp + 0x20]
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10140b4e
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x10], ecx
test edx, 0x100
je 0x10140b67
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x10140b72
and edx, 0x1ff
add edx, edx
lea esi, [eax + edx*8]
cmp dword [ecx + 8], 3
jne 0x10140bd0
cmp dword [esi + 8], 3
jne 0x10140bd0
movsd xmm0, qword [esi]
call fcn.101bce0f
mov esi, eax
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
call fcn.101bce0f
movsd xmm2, qword [esp + 0x30]
xor esi, eax
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov dword [eax + 8], 3
addsd xmm0, qword [esi*8 + 0x1020b340]
movsd qword [eax], xmm0
jmp case.default.0x1013fe2d
lea edx, [esp + 0x1e0]
lfence
call fcn.1013ea80
test eax, eax
mov ecx, edi
push str.perform_arithmetic_on
cmove esi, dword [esp + 0x14]
mov edx, esi
call fcn.10144db0
movsd xmm2, qword [esp + 0x34]
add esp, 4
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x24]
shr ecx, 0x17
test ecx, 0x100
je 0x10140c2f
mov eax, dword [esp + 0x20]
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10140c34
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x10], ecx
test edx, 0x100
je 0x10140c4d
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x10140c58
and edx, 0x1ff
add edx, edx
lea esi, [eax + edx*8]
cmp dword [ecx + 8], 3
jne 0x10140cb8
cmp dword [esi + 8], 3
jne 0x10140cb8
movsd xmm0, qword [esi]
call fcn.101bce0f
mov esi, eax
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
call fcn.101bce0f
movsd xmm2, qword [esp + 0x30]
mov ecx, esi
movsd xmm3, qword [esp + 0x48]
shl eax, cl
mov ecx, dword [esp + 0x14]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1020b340]
mov eax, dword [esp + 0x1c]
movsd qword [eax], xmm0
mov dword [eax + 8], 3
jmp case.default.0x1013fe2d
lea edx, [esp + 0x1f0]
lfence
call fcn.1013ea80
test eax, eax
mov ecx, edi
push str.perform_arithmetic_on
cmove esi, dword [esp + 0x14]
mov edx, esi
call fcn.10144db0
movsd xmm2, qword [esp + 0x34]
add esp, 4
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov ecx, edx
mov esi, dword [esp + 0x24]
shr ecx, 0x17
test ecx, 0x100
je 0x10140d17
mov eax, dword [esp + 0x20]
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10140d1c
shl ecx, 4
add ecx, eax
shr edx, 0xe
mov dword [esp + 0x28], ecx
test edx, 0x100
je 0x10140d35
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x10140d40
and edx, 0x1ff
add edx, edx
lea esi, [eax + edx*8]
cmp dword [ecx + 8], 3
mov dword [esp + 0x10], esi
jne 0x10140da4
cmp dword [esi + 8], 3
jne 0x10140da4
movsd xmm0, qword [ecx]
call fcn.101bce0f
mov esi, eax
mov eax, dword [esp + 0x10]
movsd xmm0, qword [eax]
call fcn.101bce0f
movsd xmm2, qword [esp + 0x30]
mov ecx, eax
mov eax, dword [esp + 0x1c]
movsd xmm3, qword [esp + 0x48]
shr esi, cl
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], 3
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x1020b340]
movsd qword [eax], xmm0
jmp case.default.0x1013fe2d
lea edx, [esp + 0x200]
lfence
call fcn.1013ea80
test eax, eax
cmove esi, dword [esp + 0x28]
jmp 0x10140a1a
mov edi, dword [esp + 0x18]
shr edx, 0x17
shl edx, 4
add edx, eax
mov dword [esp + 0x50], edx
mov eax, dword [edx + 8]
sub eax, 4
je 0x10140e42
sub eax, 1
je 0x10140e1c
sub eax, 4
je 0x10140e42
push 0xc
lfence
mov dword [edi + 0x18], ecx
mov ecx, edi
push esi
push 0x101f0cf8
call fcn.1013f010
add esp, 0xc
test eax, eax
jne 0x1013ff27
mov edx, dword [esp + 0x50]
mov ecx, edi
push str.get_length_of
lfence
call fcn.10144db0
add esp, 4
jmp 0x1013ff27
lfence
mov ecx, dword [edx]
call fcn.10143770
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
lfence
mov eax, dword [edx]
mov eax, dword [eax + 0xc]
mov dword [esi + 8], 3
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x1020b340]
movsd qword [esi], xmm0
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov esi, edx
shr edx, 0xe
and edx, 0x1ff
shr esi, 0x17
push edx
lfence
sub edx, esi
mov dword [edi + 0x18], ecx
inc edx
mov ecx, edi
call fcn.1013f520
mov ecx, dword [edi + 0x10]
add esp, 4
mov eax, dword [ecx + 0x44]
cmp eax, dword [ecx + 0x40]
jb 0x10140ea6
mov ecx, edi
call fcn.10142a90
mov ecx, dword [edi + 0xc]
add esi, esi
mov edx, dword [esp + 0x58]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov eax, dword [ecx + esi*8]
mov dword [edx + ecx], eax
mov eax, dword [ecx + esi*8 + 4]
mov dword [edx + ecx + 4], eax
mov eax, dword [ecx + esi*8 + 8]
mov dword [esp + 0x20], ecx
mov dword [edx + ecx + 8], eax
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov ecx, dword [esp + 0x44]
shr edx, 0xe
lea ecx, [ecx + edx*4]
add ecx, 0xfff80008
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov esi, edx
shr esi, 0x17
mov dword [esp + 0x50], esi
test esi, 0x100
je 0x10140f1c
mov eax, esi
mov esi, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add esi, eax
mov eax, dword [esp + 0x20]
jmp 0x10140f21
shl esi, 4
add esi, eax
shr edx, 0xe
test edx, 0x100
je 0x10140f38
movzx eax, dl
mov edx, dword [esp + 0x24]
shl eax, 4
jmp 0x10140f41
and edx, 0x1ff
shl edx, 4
add edx, eax
mov dword [edi + 0x18], ecx
mov eax, dword [esi + 8]
cmp eax, dword [edx + 8]
jne 0x10140f69
push edx
mov edx, esi
mov ecx, edi
lfence
call fcn.1013f460
add esp, 4
test eax, eax
je 0x10140f69
mov eax, 1
jmp 0x10140f6b
xor eax, eax
cmp eax, dword [esp + 0x10]
jne 0x10140f89
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax]
shr eax, 0xe
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
jmp 0x10140f8d
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
add ecx, 4
mov dword [esp + 0x20], eax
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
lfence
mov dword [edi + 0x18], ecx
mov ecx, edx
shr ecx, 0xe
test ecx, 0x100
je 0x10140fd1
mov eax, dword [esp + 0x20]
movzx ecx, cl
shl ecx, 4
add ecx, esi
jmp 0x10140fdc
and ecx, 0x1ff
shl ecx, 4
add ecx, eax
shr edx, 0x17
test edx, 0x100
je 0x10140ff1
movzx edx, dl
shl edx, 4
add edx, esi
jmp 0x10140ff6
shl edx, 4
add edx, eax
push ecx
mov ecx, edi
call fcn.1013f390
add esp, 4
cmp eax, dword [esp + 0x10]
jne 0x10140f89
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax]
shr eax, 0xe
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
jmp 0x10140f8d
mov edi, dword [esp + 0x18]
mov esi, edx
shr esi, 0xe
mov dword [esp + 0x50], esi
mov dword [edi + 0x18], ecx
test esi, 0x100
je 0x10141052
mov eax, esi
mov esi, dword [esp + 0x24]
movzx eax, al
shl eax, 4
add eax, esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
jmp 0x10141065
and esi, 0x1ff
shl esi, 4
add esi, eax
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x24]
shr edx, 0x17
test edx, 0x100
je 0x1014107a
movzx eax, dl
shl eax, 4
add esi, eax
jmp 0x1014107f
add edx, edx
lea esi, [eax + edx*8]
mov edx, dword [esp + 0x28]
mov eax, dword [esi + 8]
cmp eax, dword [edx + 8]
je 0x101410c2
lfence
mov eax, dword [esi + 8]
mov ecx, dword [eax*4 + 0x101f083c]
mov eax, dword [edx + 8]
mov edx, dword [eax*4 + 0x101f083c]
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10141179
push ecx
push str.attempt_to_compare_two__s_values
push edi
call fcn.10144ef0
add esp, 0xc
jmp 0x10141189
cmp eax, 3
jne 0x101410d9
movsd xmm0, qword [edx]
xor edx, edx
comisd xmm0, xmmword [esi]
setae dl
jmp 0x1014118f
lfence
cmp eax, 4
jne 0x101410f6
mov edx, dword [edx]
mov ecx, dword [esi]
call fcn.1013f260
xor edx, edx
test eax, eax
setle dl
jmp 0x1014118b
cmp eax, 9
jne 0x1014110d
mov edx, dword [edx]
mov ecx, dword [esi]
call fcn.1013f2e0
xor edx, edx
test eax, eax
setle dl
jmp 0x1014118b
push 0xe
push edx
mov edx, esi
mov ecx, edi
call fcn.1013f1a0
mov edx, eax
add esp, 8
cmp edx, 0xffffffff
jne 0x1014118b
mov edx, dword [esp + 0x28]
mov ecx, edi
push 0xd
push esi
lfence
call fcn.1013f1a0
add esp, 8
cmp eax, 0xffffffff
je 0x10141145
xor edx, edx
test eax, eax
sete dl
jmp 0x1014118b
lfence
mov eax, dword [esi + 8]
mov ecx, dword [eax*4 + 0x101f083c]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov edx, dword [eax*4 + 0x101f083c]
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10141179
push ecx
push str.attempt_to_compare_two__s_values
push edi
call fcn.10144ef0
add esp, 0xc
jmp 0x10141189
push edx
push ecx
push str.attempt_to_compare__s_with__s
push edi
call fcn.10144ef0
add esp, 0x10
xor edx, edx
mov ecx, dword [esp + 0x14]
cmp edx, dword [esp + 0x10]
jne 0x10140f8d
mov eax, dword [ecx]
mov ecx, dword [esp + 0x44]
shr eax, 0xe
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
jmp 0x10140f8d
mov eax, dword [esi + 8]
test eax, eax
je 0x101411c5
cmp eax, 1
jne 0x101411c1
cmp dword [esi], 0
je 0x101411c5
xor eax, eax
jmp 0x101411ca
mov eax, 1
shr edx, 0xe
and edx, 0x1ff
cmp eax, edx
je 0x101411e9
mov eax, dword [ecx]
mov ecx, dword [esp + 0x44]
shr eax, 0xe
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
add ecx, 4
jmp case.default.0x1013fe2d
mov esi, edx
shr esi, 0x17
shl esi, 4
mov dword [esp + 0x28], esi
mov esi, dword [esi + eax + 8]
test esi, esi
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x1c]
je 0x10141228
cmp dword [esp + 0x50], 1
jne 0x1014121e
mov edi, dword [esp + 0x28]
cmp dword [edi + eax], 0
je 0x10141228
mov dword [esp + 0x10], 0
jmp 0x10141230
mov dword [esp + 0x10], 1
shr edx, 0xe
and edx, 0x1ff
cmp dword [esp + 0x10], edx
je 0x10141274
mov edx, dword [esp + 0x28]
mov eax, dword [edx + eax]
mov edx, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edx + 4]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edx + 8]
mov dword [esi + 8], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x44]
shr eax, 0xe
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
add ecx, 4
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov eax, edx
shr edx, 0xe
and edx, 0x1ff
shr eax, 0x17
dec edx
mov dword [esp + 0x28], edx
lfence
test eax, eax
je 0x101412a2
shl eax, 4
add eax, esi
mov dword [edi + 8], eax
mov dword [edi + 0x18], ecx
mov ecx, edi
push edx
mov edx, esi
call fcn.10145840
add esp, 4
sub eax, 0
je 0x10141966
sub eax, 1
jne 0x10141a92
mov eax, dword [esp + 0x28]
test eax, eax
js 0x1013ff27
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
jmp 0x1013ff27
mov edi, dword [esp + 0x18]
shr edx, 0x17
lfence
test edx, edx
je 0x101412f4
shl edx, 4
add edx, esi
mov dword [edi + 8], edx
mov dword [edi + 0x18], ecx
mov edx, esi
push 0xffffffffffffffff
mov ecx, edi
call fcn.10145840
add esp, 4
sub eax, 0
je 0x1014197b
sub eax, 1
jne 0x10141a92
jmp 0x1013ff27
movsd xmm0, qword [esi + 0x20]
xor eax, eax
comisd xmm0, xmm3
movsd xmm2, qword [esi + 0x10]
movaps xmm1, xmm0
addsd xmm1, qword [esi]
jbe 0x1014133b
comisd xmm2, xmm1
jmp 0x1014133f
comisd xmm1, xmm2
movsd xmm2, qword [esp + 0x30]
setae al
test eax, eax
je case.default.0x1013fe2d
mov ecx, dword [esp + 0x44]
shr edx, 0xe
movsd qword [esi], xmm1
mov dword [esi + 8], 3
movsd qword [esi + 0x30], xmm1
lea ecx, [ecx + edx*4]
mov dword [esi + 0x38], 3
add ecx, 0xfff80008
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
lea eax, [esi + 0x20]
mov dword [esp + 0x1c], eax
mov dword [edi + 0x18], ecx
cmp dword [esi + 8], 3
je 0x101413a7
mov edx, esi
mov ecx, esi
lfence
call fcn.1013ea80
test eax, eax
jne 0x101413a7
push str.for_initial_value_must_be_a_number
jmp 0x101413e9
cmp dword [esi + 0x18], 3
je 0x101413c6
lea edx, [esi + 0x10]
lea ecx, [esi + 0x10]
lfence
call fcn.1013ea80
test eax, eax
jne 0x101413c6
push str.for_limit_must_be_a_number
jmp 0x101413e9
mov eax, dword [esp + 0x1c]
cmp dword [eax + 8], 3
je 0x101413f6
mov edx, eax
mov ecx, eax
lfence
call fcn.1013ea80
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x101413f6
push str.for_step_must_be_a_number
push edi
call fcn.10144ef0
mov eax, dword [esp + 0x24]
add esp, 8
movsd xmm0, qword [esi]
subsd xmm0, qword [eax]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
shr eax, 0xe
movsd qword [esi], xmm0
mov dword [esi + 8], 3
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
jmp case.default.0x1013fe2d
lfence
mov eax, dword [esi + 0x20]
lea edx, [esi + 0x30]
mov dword [edx + 0x20], eax
mov eax, dword [esi + 0x24]
mov edi, dword [esp + 0x18]
mov dword [edx + 0x24], eax
mov eax, dword [esi + 0x28]
mov dword [edx + 0x28], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x18], eax
mov eax, dword [esi]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
lea eax, [edx + 0x30]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x28]
shr eax, 0xe
and eax, 0x1ff
mov dword [edi + 0x18], ecx
push eax
mov ecx, edi
call fcn.10145c10
mov esi, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edi + 0xc]
add esi, 3
mov eax, dword [edi + 0x14]
shl esi, 4
add esi, ecx
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
cmp dword [esi + 8], 0
je 0x101414e9
mov eax, dword [esi]
mov ecx, dword [esp + 0x44]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov dword [esi - 0x10], eax
mov eax, dword [esi + 4]
mov dword [esi - 0xc], eax
mov eax, dword [esi + 8]
mov dword [esi - 8], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
shr eax, 0xe
lea ecx, [ecx + eax*4]
add ecx, 0xfff80008
add ecx, 4
jmp case.default.0x1013fe2d
mov ecx, dword [esp + 0x14]
movsd xmm2, qword [esp + 0x30]
add ecx, 4
movsd xmm3, qword [esp + 0x48]
jmp case.default.0x1013fe2d
mov edi, dword [esp + 0x18]
mov eax, edx
shr edx, 0xe
shr eax, 0x17
and edx, 0x1ff
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], edx
test eax, eax
jne 0x10141535
mov eax, dword [edi + 8]
sub eax, esi
sar eax, 4
dec eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
test edx, edx
jne 0x1014153d
mov eax, dword [ecx]
jmp 0x10141541
mov eax, dword [esp + 0x50]
xor ecx, ecx
test edx, edx
sete cl
lea ecx, [ecx*4 + 4]
add ecx, dword [esp + 0x60]
cmp dword [esi + 8], 5
mov dword [esp + 0x14], ecx
jne case.default.0x1013fe2d
lfence
mov edx, dword [esi]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x28]
imul eax, eax, 0x32
add edx, 0xffffffce
add eax, edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x10], eax
cmp eax, dword [edx + 0x1c]
jle 0x101415b6
lfence
cmp dword [edx + 0x10], 0x101f0bd8
jne 0x10141593
xor ecx, ecx
jmp 0x101415a6
mov cl, byte [edx + 7]
mov dword [esp + 0x1c], 1
shl dword [esp + 0x1c], cl
mov ecx, dword [esp + 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.10142e20
mov ecx, dword [esp + 0x1c]
add esp, 8
mov eax, dword [esp + 0x28]
test eax, eax
jle 0x10140f97
shl eax, 4
add eax, esi
mov esi, dword [esp + 0x60]
lfence
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x10]
mov ecx, esi
call fcn.10143430
cmp eax, 0x101f0cf8
jne 0x10141616
movd xmm0, dword [esp + 0x10]
lea eax, [esp + 0x90]
cvtdq2pd xmm0, xmm0
push eax
mov edx, esi
mov dword [esp + 0x9c], 3
mov ecx, edi
movsd qword [esp + 0x94], xmm0
call fcn.101432c0
add esp, 4
mov edx, dword [esp + 0x1c]
dec dword [esp + 0x10]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
cmp dword [edx + 8], 4
jl 0x10141654
mov eax, dword [edx]
test byte [eax + 5], 3
je 0x10141654
mov al, byte [esi + 5]
test al, 4
je 0x10141654
mov ecx, dword [edi + 0x10]
and al, 0xfb
mov byte [esi + 5], al
mov eax, dword [ecx + 0x28]
mov dword [esi + 0x18], eax
mov dword [ecx + 0x28], esi
mov eax, dword [esp + 0x28]
sub edx, 0x10
dec eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x28], eax
test eax, eax
jg 0x101415d2
mov ecx, dword [esp + 0x14]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
jmp case.default.0x1013fe2d
mov ecx, dword [esp + 0x18]
mov edx, esi
lfence
call fcn.10144fe0
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
mov ecx, dword [esp + 0x68]
lfence
mov edi, dword [esp + 0x18]
shr edx, 0xe
mov eax, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
mov ecx, edi
mov eax, dword [eax + 0x10]
mov eax, dword [eax + edx*4]
xor edx, edx
mov dword [esp + 0x60], eax
mov al, byte [eax + 0x48]
mov byte [esp + 0x2f], al
movzx eax, al
mov dword [esp + 0x28], eax
mov dword [esp + 0x50], eax
lea eax, [eax*4 + 0x14]
push eax
push 0
call fcn.101471b0
mov edx, dword [edi + 0x10]
add esp, 8
mov dword [esp + 0x58], eax
mov ecx, dword [edx + 0x1c]
mov dword [eax], ecx
mov cl, byte [edx + 0x14]
mov dword [edx + 0x1c], eax
and cl, 3
mov edx, dword [esp + 0x28]
mov dword [eax + 0xc], esi
mov esi, dword [esp + 0x58]
mov byte [eax + 5], cl
mov byte [eax + 4], 6
mov byte [eax + 6], 0
mov al, byte [esp + 0x2f]
mov byte [esi + 7], al
test edx, edx
je 0x1014173f
mov ecx, dword [esp + 0x50]
lea eax, [edx + 5]
lea eax, [esi + eax*4]
nop word [eax + eax]
mov dword [eax - 4], 0
lea eax, [eax - 4]
sub ecx, 1
jne 0x10141730
mov eax, dword [esp + 0x60]
mov dword [esi + 0x10], eax
test edx, edx
je 0x10141820
mov eax, dword [esp + 0x14]
lea ecx, [esi + 0x14]
mov dword [esp + 0x44], ecx
nop dword [eax]
mov eax, dword [eax]
mov esi, eax
and al, 0x3f
shr esi, 0x17
cmp al, 4
jne 0x1014177a
mov eax, dword [esp + 0x68]
mov edx, dword [eax + esi*4 + 0x14]
jmp 0x101417fd
mov edx, dword [edi + 0x68]
lea ecx, [edi + 0x68]
mov eax, dword [edi + 0x10]
shl esi, 4
add esi, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov dword [esp + 0x60], ecx
test edx, edx
je 0x101417ad
cmp dword [edx + 8], esi
jb 0x101417ad
je 0x10141832
mov eax, dword [edx]
mov dword [esp + 0x60], edx
mov edx, eax
test eax, eax
jne 0x10141796
push 0x20
push 0
xor edx, edx
mov ecx, edi
call fcn.101471b0
mov ecx, dword [esp + 0x18]
mov edx, eax
mov eax, dword [esp + 0x68]
add esp, 8
mov byte [edx + 4], 0xb
mov cl, byte [ecx + 0x14]
mov dword [edx + 8], esi
and cl, 3
mov esi, dword [esp + 0x10]
mov byte [edx + 5], cl
mov ecx, dword [eax]
mov dword [edx], ecx
mov dword [eax], edx
lea ecx, [esi + 0x78]
mov dword [edx + 0x10], ecx
mov eax, dword [esi + 0x8c]
mov dword [edx + 0x14], eax
mov dword [eax + 0x10], edx
mov dword [esi + 0x8c], edx
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x14]
mov dword [ecx], edx
add eax, 4
add ecx, 4
mov dword [esp + 0x14], eax
sub dword [esp + 0x28], 1
mov dword [esp + 0x44], ecx
jne 0x10141760
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x1c]
mov dword [eax], esi
mov dword [eax + 8], 6
jmp 0x1014011c
mov ecx, dword [esp + 0x10]
movzx eax, byte [edx + 5]
movzx ecx, byte [ecx + 0x14]
not ecx
and ecx, eax
test cl, 3
je 0x101417f9
xor byte [edx + 5], 3
jmp 0x101417f9
mov edi, dword [esp + 0x18]
shr edx, 0x17
dec edx
mov eax, dword [edi + 0x14]
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x60]
mov eax, dword [eax]
sub eax, dword [edi + 4]
mov edi, dword [esp + 0x18]
sar eax, 4
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x10]
movzx eax, byte [eax + 0x49]
sub dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
dec eax
mov dword [esp + 0x44], eax
cmp edx, 0xffffffff
jne 0x101418df
mov edx, eax
mov dword [edi + 0x18], ecx
mov eax, dword [edi + 0x1c]
sub eax, dword [edi + 8]
shl edx, 4
mov dword [esp + 0x50], edx
cmp eax, edx
jg 0x101418c5
mov edx, dword [edi + 0x2c]
mov ecx, edi
mov eax, dword [esp + 0x44]
cmp eax, edx
jg 0x101418b4
add edx, edx
jmp 0x101418bc
lfence
mov edx, dword [edi + 0x2c]
add edx, eax
call fcn.101453c0
mov ecx, dword [esp + 0x14]
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
add esi, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x50]
add eax, esi
mov dword [edi + 8], eax
movsd xmm2, qword [esp + 0x30]
xor eax, eax
movsd xmm3, qword [esp + 0x48]
mov dword [esp + 0x58], eax
test edx, edx
jle case.default.0x1013fe2d
mov edi, dword [esp + 0x44]
mov ecx, edi
neg ecx
shl ecx, 4
mov dword [esp + 0x10], ecx
cmp eax, edi
jge 0x10141935
mov eax, dword [esp + 0x60]
mov ecx, dword [eax]
add ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov dword [esi], eax
mov eax, dword [ecx + 4]
mov dword [esi + 4], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
jmp 0x10141937
xor edi, edi
mov dword [esi + 8], edi
inc eax
mov edi, dword [esp + 0x44]
add ecx, 0x10
add esi, 0x10
mov dword [esp + 0x58], eax
mov dword [esp + 0x10], ecx
cmp eax, edx
jl 0x10141908
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
mov ecx, dword [esp + 0x14]
jmp case.default.0x1013fe2d
inc dword [esp + 0x6c]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
jmp 0x1013fcd0
cmp dword [edi + 0x68], 0
mov edx, dword [edi + 0x14]
mov dword [esp + 0x60], edx
mov eax, dword [edx - 0x14]
mov esi, eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x58], ecx
je 0x101419ad
mov edx, dword [edx - 0x18]
mov ecx, edi
call fcn.10144fe0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov esi, dword [edx - 0x14]
mov eax, dword [edx]
sub eax, ecx
and eax, 0xfffffff0
add eax, esi
xor esi, esi
mov dword [edx - 0x18], eax
mov dword [edi + 0xc], eax
cmp ecx, dword [edi + 8]
jae 0x101419f9
mov edx, ecx
xor ecx, ecx
mov edi, dword [esp + 0x10]
inc esi
mov eax, dword [edx]
mov dword [edi + ecx], eax
mov eax, dword [edx + 4]
mov dword [edi + ecx + 4], eax
mov eax, dword [edx + 8]
mov edx, edi
mov edi, dword [esp + 0x18]
mov dword [edx + ecx + 8], eax
mov ecx, esi
mov edx, dword [esp + 0x58]
shl ecx, 4
add edx, ecx
cmp edx, dword [edi + 8]
jb 0x101419c7
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x10]
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
shl esi, 4
add eax, esi
mov dword [edi + 8], eax
mov dword [edx - 0x10], eax
mov eax, dword [edi + 0x18]
inc dword [edx - 4]
mov dword [edx - 0xc], eax
add dword [edi + 0x14], 0xffffffe8
jmp 0x1013fcd0
mov edi, dword [esp + 0x18]
shr edx, 0x17
lfence
test edx, edx
je 0x10141a43
shl edx, 4
lea eax, [esi - 0x10]
add eax, edx
mov dword [edi + 8], eax
mov eax, dword [esp + 0x20]
cmp dword [edi + 0x68], 0
je 0x10141a52
mov edx, eax
mov ecx, edi
call fcn.10144fe0
mov eax, dword [esp + 0x14]
mov edx, esi
mov ecx, edi
mov dword [edi + 0x18], eax
call fcn.10145b30
sub dword [esp + 0x6c], 1
je 0x10141a92
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x48]
test eax, eax
je 0x1013fcd0
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
jmp 0x1013fcd0
mov ecx, dword [esp + 0x44]
mov dword [edi + 0x18], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret