Function at 0x14002b02c
Capabilities:
Encode data using xor
Get common file path
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xac8]
sub rsp, 0xb88
movaps xmmword [rax - 0x58], xmm6
xor r14d, r14d
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x50], rcx
lea rax, [rcx + 0x108]
test rcx, rcx
je 0x14002f774
test rax, rax
je 0x14002f774
mov edi, 0x2dbe
mov ebx, 0xea60
mov rcx, rbx
call fcn.140067abc
mov rdx, rax
mov eax, r14d
mov rcx, rdx
cmp eax, 0x2c
je 0x14002b0e0
mov dword [rcx], 0x2110
inc eax
add rcx, 4
cmp eax, 0x2f84
jb 0x14002b0c8
mov rcx, rdx
call fcn.140067ac4
sub rdi, 1
jne 0x14002b0b7
lea rdx, [rbp + 0x800]
mov ecx, 0x100
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
xor ecx, ecx
call fcn.14007db1c
mov rcx, rax
call fcn.14007922c
xor edx, edx
lea rcx, [rbp + 0x210]
mov r8d, 0x104
call fcn.14006a890
mov byte [rbp - 0x6f], r14b
lea rsi, [0x140000000]
mov edi, 5
call fcn.140079200
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*2]
shl rax, 2
sub rcx, rax
movsxd rax, ecx
lea rcx, [rbp + 0x210]
dec rcx
mov al, byte [rax + rsi + 0x24b240]
mov byte [rbp - 0x70], al
inc rcx
cmp byte [rcx], r14b
jne 0x14002b16e
lea r8, [rbp - 0x70]
xor edx, edx
mov al, byte [r8 + rdx]
mov byte [rcx + rdx], al
inc rdx
test al, al
jne 0x14002b17c
sub rdi, 1
jne 0x14002b133
mov edi, 0x2d3e
mov rcx, rbx
call fcn.140067abc
mov rdx, rax
mov eax, r14d
mov rcx, rdx
cmp eax, 6
je 0x14002b1be
mov dword [rcx], 0x1e7f
inc eax
add rcx, 4
cmp eax, 0x330b
jb 0x14002b1a6
mov rcx, rdx
call fcn.140067ac4
sub rdi, 1
jne 0x14002b195
mov rcx, r14
movzx eax, word [rbp + rcx + 0x800]
mov word [rbp + rcx + 0x320], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x14002b1cf
lea rcx, [rbp + 0x320]
sub rcx, 2
lea rcx, [rcx + 2]
cmp word [rcx], r14w
jne 0x14002b1f3
lea rdi, [rbp + 0x210]
xor edx, edx
movzx eax, word [rdi + rdx*2]
mov word [rcx + rdx*2], ax
inc rdx
test ax, ax
jne 0x14002b206
lea r8, [0x1400dc334]
mov word [rbp + 0x526], r14w
lea rdx, [rbp + 0x320]
mov qword [rbp - 0x28], r14
lea rcx, [rbp - 0x28]
call fcn.14007ce64
mov ebx, dword [0x14026e598]
mov rsi, qword gs:[0x58]
mov ecx, 0x20
mov r8d, 0x18
mov rdx, qword [rsi + rbx*8]
mov eax, dword [rcx + rdx]
test al, 1
jne 0x14002b297
or eax, 1
lea rdi, [rbp + 0x18]
mov dword [rcx + rdx], eax
mov rax, qword [0x1402245a8]
mov ecx, r8d
add rcx, rdx
mov qword [rbp + 0x18], rax
mov edx, r14d
sub rdi, rcx
mov byte [rcx + 4], r14b
mov eax, dword [rdi + rcx]
inc edx
mov dword [rcx], eax
lea rcx, [rcx + 4]
cmp edx, 1
jb 0x14002b283
mov rdx, qword [rsi + rbx*8]
movsd xmm9, qword [0x140224b40]
xorps xmm7, xmm7
movsd xmm10, qword [0x140224b38]
movsd xmm11, qword [0x140224b30]
mov edi, r8d
add rdi, rdx
mov qword [rbp - 0x80], rdi
cmp byte [rdi + 4], r14b
jne 0x14002bb39
mov dword [rsp + 0x60], r14d
call fcn.14002a3a0
movsx r12d, al
call fcn.14002a3e8
movsx r13d, al
call fcn.14002a3c4
movsx ebx, al
mov dword [rsp + 0x70], ebx
call fcn.14002a37c
movsx r15d, al
mov dword [rbp + 0xae0], r15d
call fcn.14002a394
movsx esi, al
imul esi, r15d
call fcn.14002a3d0
movsx r9d, al
mov r14, rdi
mov dword [rbp + 0xad8], r9d
lea r10d, [r9 + rsi*2]
mov dword [rbp + 0xae8], r10d
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b420
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rsi*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x140224b48]
jmp 0x14002b3bb
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b3e3
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002b496
jne 0x14002b496
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002b370
movsx edi, byte [0x14024a028]
lea edx, [rsi + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rsi*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r10d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
je 0x14002b912
movsx ecx, byte [0x14026dff0]
imul ecx, r12d
lea eax, [rcx + rcx*2]
movsx ecx, byte [0x14024a022]
lea edx, [rax + rax]
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b5a0
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rsi*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm9
jmp 0x14002b53b
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002b4e9
jne 0x14002b4e9
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
mov r10d, dword [rbp + 0xae8]
jmp 0x14002b41d
mov eax, 0xa
jmp 0x14002b4d6
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b563
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002b5ea
jne 0x14002b5ea
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002b4f0
movsx edi, byte [0x14024a028]
lea edx, [rsi + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rsi*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b6ed
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rsi*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm10
jmp 0x14002b688
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002b636
jne 0x14002b636
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002b59d
mov eax, 0xa
jmp 0x14002b62a
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b6b0
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002b95f
jne 0x14002b95f
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002b63d
movsx edi, byte [0x14024a028]
lea edx, [rsi + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rsi*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
movsx edx, byte [0x14024a022]
lea r15d, [r9 + rsi*8]
movsx ecx, byte [0x14024a026]
jmp 0x11205b722
mov eax, dword [rsp + 0x60]
sub ecx, edx
add eax, 0xffffff84
xor edx, edx
add r15d, esi
movd xmm0, ecx
movd xmm8, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm8, xmm8
mulsd xmm0, xmm8
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
je 0x14002b7c6
mov r8d, dword [rbp + 0xae0]
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002b7c6
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r8d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002b9b2
jne 0x14002b9b2
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002b753
movsx edi, byte [0x14024a028]
lea edx, [rsi + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rsi*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si ebx, xmm0
movsx edx, byte [0x14024a022]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
xor edx, edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
je 0x14002b8c3
mov r8d, dword [rsp + 0x70]
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, r8d
add ecx, edx
je 0x14002b8c3
movsd xmm1, qword [rsp + 0x68]
movd xmm0, dword [rbp + 0xae0]
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002ba05
jne 0x14002ba05
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002b84c
movsx edi, byte [0x14024a028]
lea edx, [rsi + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rsi*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
and eax, dword [r14]
mov r15d, dword [rbp + 0xae0]
add eax, eax
sub ebx, eax
add dword [r14], ebx
mov ebx, dword [rsp + 0x70]
movsx ecx, byte [0x14026dff0]
imul ecx, r12d
imul edx, ecx, 7
movsx ecx, byte [0x14024a022]
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002bb08
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rsi*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, esi
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm11
jmp 0x14002baa3
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002b9ab
jne 0x14002b9ab
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002b6ea
mov eax, 0xa
jmp 0x14002b99f
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002b9fe
jne 0x14002b9fe
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si ebx, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002b800
mov ebx, 0xa
jmp 0x14002b9f2
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002ba51
jne 0x14002ba51
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002b8fd
mov eax, 0xa
jmp 0x14002ba45
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, ebx
add ecx, edx
je 0x14002bacb
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002bc94
jne 0x14002bc94
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002ba58
movsx edi, byte [0x14024a028]
lea edx, [rsi + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rsi*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
mov eax, dword [rsp + 0x60]
lea r10d, [r9 + rsi*2]
inc eax
add r14, 4
mov dword [rsp + 0x60], eax
cmp eax, 1
jb 0x14002b326
mov rdi, qword [rbp - 0x80]
xor r14d, r14d
mov ebx, dword [0x14026e598]
mov rsi, qword gs:[0x58]
mov byte [rdi + 4], 1
lea rdx, [0x14024a040]
mov eax, dword [rdi]
lea rcx, [0x14026e010]
mov edi, 0x1200
lea r9, [0x140000000]
mov r8d, edi
call qword [r9 + rax*8 + 0x26bd50]
mov r9, qword [rbp - 0x28]
lea rcx, [0x14024a040]
mov r8d, edi
mov edx, 1
call fcn.14007d6c0
mov rcx, qword [rbp - 0x28]
call fcn.14007d118
mov rdx, qword [rsi + rbx*8]
mov ecx, 0x30
mov r8d, 0x28
mov eax, dword [rcx + rdx]
test al, 1
jne 0x14002bbd4
or eax, 1
lea rdi, [rbp - 0x10]
mov dword [rcx + rdx], eax
mov rax, qword [0x1402245b0]
mov ecx, r8d
add rcx, rdx
mov qword [rbp - 0x10], rax
mov edx, r14d
sub rdi, rcx
mov byte [rcx + 4], r14b
mov eax, dword [rdi + rcx]
inc edx
mov dword [rcx], eax
lea rcx, [rcx + 4]
cmp edx, 1
jb 0x14002bbc0
mov rdx, qword [rsi + rbx*8]
movsd xmm12, qword [0x140224b28]
mov edi, r8d
add rdi, rdx
mov qword [rbp - 0x80], rdi
cmp byte [rdi + 4], r14b
jne 0x14002c499
mov dword [rsp + 0x74], r14d
call fcn.14002a3a0
movsx r12d, al
call fcn.14002a3e8
movsx r13d, al
call fcn.14002a3c4
movsx esi, al
mov dword [rsp + 0x78], esi
call fcn.14002a37c
movsx r15d, al
mov dword [rsp + 0x60], r15d
call fcn.14002a394
movsx ebx, al
imul ebx, r15d
call fcn.14002a3d0
movsx r9d, al
mov r14, rdi
mov dword [rbp + 0xad8], r9d
lea r10d, [r9 + rbx*2]
mov dword [rsp + 0x70], r10d
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002bd97
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rbx*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, ebx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm9
jmp 0x14002bd32
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002bce0
jne 0x14002bce0
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002bb05
mov eax, 0xa
jmp 0x14002bcd4
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002bd5a
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002be0d
jne 0x14002be0d
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002bce7
movsx edi, byte [0x14024a028]
lea edx, [rbx + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rbx*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r10d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
je 0x14002c281
movsx ecx, byte [0x14026dff0]
imul ecx, r12d
lea eax, [rcx + rcx*2]
movsx ecx, byte [0x14024a022]
lea edx, [rax + rax]
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002bf15
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rbx*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, ebx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm10
jmp 0x14002beb0
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002be5e
jne 0x14002be5e
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
mov r10d, dword [rsp + 0x70]
jmp 0x14002bd94
mov eax, 0xa
jmp 0x14002be4d
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002bed8
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002bf5f
jne 0x14002bf5f
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002be65
movsx edi, byte [0x14024a028]
lea edx, [rbx + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rbx*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002c062
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rbx*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, ebx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm11
jmp 0x14002bffd
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002bfab
jne 0x14002bfab
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002bf12
mov eax, 0xa
jmp 0x14002bf9f
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002c025
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002c2ce
jne 0x14002c2ce
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002bfb2
movsx edi, byte [0x14024a028]
lea edx, [rbx + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rbx*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
movsx edx, byte [0x14024a022]
lea r15d, [r9 + rbx*8]
movsx ecx, byte [0x14024a026]
add edx, edx
mov eax, dword [rsp + 0x74]
sub ecx, edx
add eax, 0xffffff85
xor edx, edx
add r15d, ebx
movd xmm0, ecx
movd xmm8, eax
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm8, xmm8
mulsd xmm0, xmm8
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
je 0x14002c139
mov r8d, dword [rsp + 0x60]
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002c139
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r8d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002c321
jne 0x14002c321
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002c0c6
movsx edi, byte [0x14024a028]
lea edx, [rbx + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rbx*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si esi, xmm0
movsx edx, byte [0x14024a022]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
xor edx, edx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm8
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
je 0x14002c234
mov r8d, dword [rsp + 0x78]
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, r8d
add ecx, edx
je 0x14002c234
movd xmm0, dword [rsp + 0x60]
movsd xmm1, qword [rsp + 0x68]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm7
ucomisd xmm1, xmm0
jp 0x14002c374
jne 0x14002c374
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r15d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002c1bf
movsx edi, byte [0x14024a028]
lea edx, [rbx + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rbx*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
and eax, dword [r14]
mov r15d, dword [rsp + 0x60]
add eax, eax
sub esi, eax
add dword [r14], esi
mov esi, dword [rsp + 0x78]
movsx ecx, byte [0x14026dff0]
imul ecx, r12d
imul edx, ecx, 7
movsx ecx, byte [0x14024a022]
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002c477
movsx edx, byte [0x14024a022]
lea r8d, [r9 + rbx*8]
movsx ecx, byte [0x14024a026]
add edx, edx
sub ecx, edx
add r8d, ebx
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm12
jmp 0x14002c412
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002c31a
jne 0x14002c31a
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002c05f
mov eax, 0xa
jmp 0x14002c30e
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002c36d
jne 0x14002c36d
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si esi, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002c173
mov esi, 0xa
jmp 0x14002c361
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002c3c0
jne 0x14002c3c0
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002c26e
mov eax, 0xa
jmp 0x14002c3b4
movsx edx, byte [0x14026dff0]
movsx ecx, byte [0x14024a022]
imul edx, r12d
shl edx, 2
sub edx, r13d
add edx, esi
add ecx, edx
je 0x14002c43a
movsd xmm1, qword [rsp + 0x68]
movd xmm0, r15d
addsd xmm1, xmm7
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
jp 0x14002c6f0
jne 0x14002c6f0
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsx eax, byte [0x14024a028]
xor edx, edx
movsx ecx, byte [0x14024a027]
add eax, r8d
div ecx
mov edx, eax
movsx eax, byte [0x14024a020]
cmp edx, eax
jne 0x14002c3c7
movsx edi, byte [0x14024a028]
lea edx, [rbx + r9]
movsx ecx, byte [0x14024a027]
lea eax, [rdx + rbx*4]
add eax, edi
xor edx, edx
div ecx
xorps xmm0, xmm0
mov edx, eax
movsx eax, byte [0x14024a020]
sub edx, eax
mov eax, edx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x68]
cvttsd2si eax, xmm0
xor dword [r14], eax
mov eax, dword [rsp + 0x74]
lea r10d, [r9 + rbx*2]
inc eax
add r14, 4
mov dword [rsp + 0x74], eax
cmp eax, 1
jb 0x14002bc4a
mov rdi, qword [rbp - 0x80]
xor r14d, r14d
mov rcx, qword [rbp - 0x50]
mov byte [rdi + 4], 1
mov eax, dword [rdi]
lea rdi, [0x140000000]
lea rdx, [rcx + 0x108]
call qword [rdi + rax*8 + 0x26bda0]
xor edx, edx
lea rcx, [rbp + 0x1a4]
mov bl, al
mov byte [rbp + 0xad8], al
lea r8d, [rdx + 0x64]
call fcn.14006a890
xorps xmm0, xmm0
mov dword [rbp + 0x1a0], 0x68
xor eax, eax
mov edi, 0x2ce6
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rax
mov ecx, 0xea60
call fcn.140067abc
mov rdx, rax
mov eax, r14d
mov rcx, rdx
cmp eax, 0x48
je 0x14002c519
mov dword [rcx], 0x1eb7
inc eax
add rcx, 4
cmp eax, 0x3143
jb 0x14002c501
mov rcx, rdx
call fcn.140067ac4
sub rdi, 1
jne 0x14002c4ee
movups xmm0, xmmword [str.ZWAZPZ]
lea r8, [rbp + 0x130]
movzx eax, word [0x1402245d0]
movsd xmm1, qword [0x1402245c8]
mov edi, r14d
movups xmmword [rbp + 0x130], xmm0
mov word [rbp + 0x148], ax
movsd qword [rbp + 0x140], xmm1
mov eax, 0x2f684bdb
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x36
movzx eax, di
inc edi
sub ax, cx
add ax, 0x31
xor word [r8], ax
lea r8, [r8 + 2]
cmp edi, 0xd
jl 0x14002c55d
lea rcx, [rbp + 0x130]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rsp + 0x68], rax
mov rsi, rax
test rax, rax
je 0x14002f774
mov eax, dword [0x1402245f0]
lea r8, [rbp + 0x48]
movups xmm0, xmmword [str.r_VUASgJVYONi_]
mov edi, r14d
mov dword [rbp + 0x60], eax
movsd xmm1, qword [0x1402245e8]
movzx eax, word [0x1402245f4]
movups xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x64], ax
movsd qword [rbp + 0x58], xmm1
mov byte [rbp + 0xae0], r14b
mov eax, 0x2f684bdb
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x36
movzx eax, di
inc edi
sub ax, cx
add ax, 0x31
xor word [r8], ax
lea r8, [r8 + 2]
cmp edi, 0xf
jl 0x14002c5e6
lea rcx, [rbp + 0xae0]
call fcn.140033cec
movsd xmm10, qword [0x140224b20]
mov rdi, rax
movsd xmm11, qword [0x140224b18]
movsd xmm13, qword [0x140224b10]
mov qword [rbp - 0x80], rax
cmp byte [rax + 4], r14b
jne 0x14002cefc
mov dword [rsp + 0x70], r14d
call fcn.14002a3a0
movsx r12d, al
call fcn.14002a3e8
movsx r13d, al
call fcn.14002a3c4
movsx esi, al
mov dword [rsp + 0x7c], esi
call fcn.14002a37c
movsx r15d, al
mov dword [rsp + 0x74], r15d
call fcn.14002a394
movsx ebx, al
imul ebx, r15d
call fcn.14002a3d0
movsx r9d, al
mov r14, rdi
mov dword [rsp + 0x60], r9d
lea r10d, [r9 + rbx*2]
mov dword [rsp + 0x78], r10d
movsd xmm6, qword [rsp + 0x68]
addsd xmm6, xmm7
call fcn.14002a388
movsx ecx, al
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
ucomisd xmm6, xmm0
jp 0x14002c73c
jne 0x14002c73c
movsd xmm0, qword [rsp + 0x68]
addsd xmm0, xmm7
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [rsp + 0x68]
addsd xmm1, xmm7
cvttsd2si eax, xmm1
mov r9d, dword [rbp + 0xad8]
jmp 0x14002c474
mov eax, 0xa
jmp 0x14002c730