Function at 0x14001d0cc
Capabilities:
Create process on windows
Encode data using base64
Get common file path
Parse credit card information
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x6c8
movaps xmmword [rsp + 0x6b0], xmm6
mov r12, r8
mov qword [rsp + 0x88], rcx
mov al, byte [rdx + 0xa0]
test al, al
sete cl
mov r13, qword [rdx + 0x98]
test r13, r13
sete r8b
and r8b, cl
mov byte [rsp + 0x90], r8b
mov qword [rsp + 0x60], rdx
je 0x14001d125
xor r15d, r15d
jmp 0x14001d951
mov qword [rsp + 0x68], r12
and qword [rsp + 0x250], 0
and qword [rsp + 0x260], 0
test al, al
jne 0x14001d2b9
call sub.kernel32.dll_GetEnvironmentStringsW
test rax, rax
je 0x14001fb81
lea r14, [rsp + 0x180]
lea r15, [rsp + 0x2b0]
lea rdi, [rsp + 0x250]
mov qword [rsp + 0x58], rax
mov r12, rax
mov rbp, r12
cmp word [r12], 0
je 0x14001d2aa
mov rsi, 0xffffffffffffffff
mov rcx, 0xfffffffffffffffe
mov rax, rcx
cmp word [rbp + rsi*2 + 2], 0
lea rsi, [rsi + 1]
lea rcx, [rcx + 2]
jne 0x14001d18f
test rsi, rsi
je 0x14001f64b
lea r12, [rsi*2 + 2]
add r12, rbp
xor ebx, ebx
test rax, rax
je 0x14001d172
cmp word [rbp + rbx*2 + 2], 0x3d
je 0x14001d1ce
inc rbx
add rax, 0xfffffffffffffffe
jmp 0x14001d1b8
cmp rbx, rsi
jae 0x14001f64b
lea r8, [rbx + 1]
mov rcx, r14
mov rdx, rbp
call fcn.140016027
add rbx, 2
sub rsi, rbx
jb 0x14001f64b
lea rdx, [rbx*2]
add rdx, rbp
lea rcx, [rsp + 0x2d0]
mov r8, rsi
call fcn.140016027
movups xmm0, xmmword [rsp + 0x180]
movups xmm1, xmmword [rsp + 0x190]
movaps xmmword [rsp + 0x2b0], xmm0
movaps xmmword [rsp + 0x110], xmm0
movaps xmmword [rsp + 0x120], xmm1
movaps xmm0, xmmword [rsp + 0x2d0]
movaps xmm1, xmmword [rsp + 0x2e0]
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm1
movabs rax, 0x8000000000000000
cmp qword [rsp + 0x110], rax
je 0x14001d2aa
mov rcx, r15
lea rdx, [rsp + 0x110]
call fcn.14001fb88
mov rcx, r14
mov rdx, rdi
mov r8, r15
lea r9, [rsp + 0x130]
call fcn.140018503
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x188]
call fcn.140001e20
jmp 0x14001d172
mov rcx, qword [rsp + 0x58]
call sub.kernel32.dll_FreeEnvironmentStringsW
mov rdx, qword [rsp + 0x60]
mov rax, qword [rdx + 0x88]
xor ecx, ecx
test rax, rax
setne cl
cmove r13, rax
lea r12, [rsp + 0xa8]
mov qword [r12 - 8], rcx
and qword [r12], 0
mov rdx, qword [rdx + 0x90]
mov qword [r12 + 8], rax
mov qword [r12 + 0x10], rdx
mov qword [r12 + 0x18], rcx
and qword [r12 + 0x20], 0
mov qword [r12 + 0x28], rax
mov qword [r12 + 0x30], rdx
lea rbx, [rsp + 0x110]
lea r14, [rsp + 0x2b0]
xorps xmm6, xmm6
lea r15, [rsp + 0x250]
sub r13, 1
jb 0x14001d850
mov qword [rsp + 0xe0], r13
cmp qword [rsp + 0xa0], 0
je 0x14001f64b
mov rsi, qword [rsp + 0xa8]
test rsi, rsi
jne 0x14001d379
mov rdx, qword [rsp + 0xb0]
mov r8, qword [rsp + 0xb8]
mov rcx, r12
call fcn.140015e22
mov qword [rsp + 0xa0], 1
mov rsi, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xb8]
movzx eax, word [rsi + 0x3d2]
cmp rbp, rax
jb 0x14001d3b4
mov rax, qword [rsi + 0x160]
test rax, rax
je 0x14001f64b
inc r8
movzx ebp, word [rsi + 0x3d0]
mov rsi, rax
jmp 0x14001d389
test r8, r8
je 0x14001d3ce
mov rdx, qword [rsi + rbp*8 + 0x3e0]
dec r8
mov rcx, r14
call fcn.140015e22
jmp 0x14001d3eb
lea rax, [rbp + 1]
mov qword [rsp + 0x2b0], rsi
and qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], rax
imul rax, rbp, 0x38
lea rdi, [rsi + rax]
add rdi, 0x168
shl rbp, 5
mov rax, qword [rsp + 0x2c0]
mov qword [r12 + 0x10], rax
mov rax, qword [rsp + 0x2b0]
mov qword [r12], rax
mov rax, qword [rsp + 0x2b8]
mov qword [r12 + 8], rax
movabs rax, 0x8000000000000000
cmp qword [rsi + rbp], rax
je 0x14001d492
add rsi, rbp
mov rcx, r14
mov rdx, rdi
call fcn.14001fbce
mov rdx, qword [rdi + 0x28]
mov r8, qword [rdi + 0x30]
lea rcx, [rsp + 0x2d0]
call fcn.1400191f2
mov rcx, rbx
mov rdx, rsi
call fcn.14001fbce
lea rcx, [rsp + 0x180]
mov rdx, r15
mov r8, r14
mov r9, rbx
call fcn.140018503
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x188]
call fcn.140001e20
jmp 0x14001d31f
mov rdx, qword [rsp + 0x250]
test rdx, rdx
je 0x14001d4cc
mov r8, qword [rsp + 0x258]
mov r9, qword [rdi + 0x28]
mov rax, qword [rdi + 0x30]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x268]
call fcn.140017d7f
cmp qword [rsp + 0x268], 0
je 0x14001d4f0
movabs rsi, 0x8000000000000000
mov rcx, rsi
mov rdx, qword [rsp + 0x58]
call fcn.140001e20
mov r13, qword [rsp + 0xe0]
jmp 0x14001d31f
mov rcx, qword [rsp + 0x270]
mov rax, qword [rsp + 0x278]
mov rdx, qword [rsp + 0x280]
mov byte [rsp + 0x57], 0
test rax, rax
je 0x14001d612
lea rcx, [rcx + rdx*8]
add rcx, 0x3d8
dec rax
mov rcx, qword [rcx]
movzx edx, word [rcx + 0x3d2]
sub rax, 1
jb 0x14001d541
lea rcx, [rcx + rdx*8]
add rcx, 0x3d8
jmp 0x14001d524
dec rdx
mov qword [rsp + 0x298], rcx
and qword [rsp + 0x2a0], 0
mov qword [rsp + 0x2a8], rdx
mov rcx, r14
lea rdx, [rsp + 0x298]
lea r8, [rsp + 0x57]
call fcn.140017e35
mov rax, qword [rsp + 0x2e0]
mov qword [rsp + 0x240], rax
movups xmm0, xmmword [rsp + 0x2b0]
movups xmm1, xmmword [rsp + 0x2c0]
movups xmm2, xmmword [rsp + 0x2d0]
movaps xmmword [rsp + 0x230], xmm2
movaps xmmword [rsp + 0x220], xmm1
movaps xmmword [rsp + 0x210], xmm0
lea rax, [rsp + 0x2d0]
movups xmm0, xmmword [rax + 0x18]
movups xmm1, xmmword [rax + 0x28]
movaps xmmword [rsp + 0x1f0], xmm0
movaps xmmword [rsp + 0x200], xmm1
mov rcx, qword [rsp + 0x308]
mov rax, qword [rsp + 0x310]
mov r8, qword [rsp + 0x318]
movzx edx, word [rcx + 0x3d2]
cmp r8, rdx
jb 0x14001d640
mov rdx, qword [rcx + 0x160]
test rdx, rdx
je 0x14001d648
inc rax
movzx r8d, word [rcx + 0x3d0]
mov rcx, rdx
jmp 0x14001d5ea
mov qword [rsp + 0x2b0], rcx
and qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], rdx
mov rcx, rbx
mov rdx, r14
lea r8, [rsp + 0x57]
call fcn.140017e35
jmp 0x14001d777
mov rdx, rax
mov rax, r8
jmp 0x14001d64d
mov rdx, rcx
xor ecx, ecx
imul r8, rax, 0x38
mov r9, rax
shl r9, 5
mov r10, qword [rcx + r8 + 0x198]
mov qword [rsp + 0x1b0], r10
movups xmm0, xmmword [rcx + r8 + 0x168]
movups xmm1, xmmword [rcx + r8 + 0x178]
movups xmm2, xmmword [rcx + r8 + 0x188]
movaps xmmword [rsp + 0x1a0], xmm2
movaps xmmword [rsp + 0x190], xmm1
movaps xmmword [rsp + 0x180], xmm0
mov r10, qword [rsp + 0x240]
mov qword [rcx + r8 + 0x198], r10
movaps xmm0, xmmword [rsp + 0x210]
movaps xmm1, xmmword [rsp + 0x220]
movaps xmm2, xmmword [rsp + 0x230]
movups xmmword [rcx + r8 + 0x188], xmm2
movups xmmword [rcx + r8 + 0x178], xmm1
movups xmmword [rcx + r8 + 0x168], xmm0
movups xmm0, xmmword [rcx + r9]
movups xmm1, xmmword [rcx + r9 + 0x10]
lea r8, [rsp + 0x1b8]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movaps xmm0, xmmword [rsp + 0x1f0]
movaps xmm1, xmmword [rsp + 0x200]
movups xmmword [rcx + r9], xmm0
movups xmmword [rcx + r9 + 0x10], xmm1
test rdx, rdx
je 0x14001d748
lea rax, [rcx + rax*8]
add rax, 0x3e0
mov rcx, qword [rax]
lea rax, [rcx + 0x3d8]
dec rdx
jne 0x14001d724
mov qword [rsp + 0x168], rcx
lea rax, [rsp + 0x170]
movups xmmword [rax], xmm6
jmp 0x14001d764
inc rax
mov qword [rsp + 0x168], rcx
and qword [rsp + 0x170], 0
mov qword [rsp + 0x178], rax
mov ecx, 0xb
mov rdi, rbx
lea rsi, [rsp + 0x180]
rep movsq qword [rdi], qword [rsi]
mov r13, qword [rsp + 0x110]
mov ecx, 0xa
mov rdi, r14
lea rsi, [rsp + 0x118]
rep movsq qword [rdi], qword [rsi]
dec qword [rsp + 0x260]
cmp byte [rsp + 0x57], 0
je 0x14001d7ef
mov rcx, qword [rsp + 0x250]
test rcx, rcx
je 0x14001f64b
mov rax, qword [rsp + 0x258]
test rax, rax
je 0x14001f64b
mov rdx, qword [rcx + 0x3d8]
mov qword [rsp + 0x250], rdx
dec rax
mov qword [rsp + 0x258], rax
and qword [rdx + 0x160], 0
mov edx, 8
call fcn.14000b890
mov ecx, 0xa
mov rdi, rbx
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
movabs rax, 0x8000000000000000
mov rsi, rax
cmp r13, rax
je 0x14001d4d6
mov qword [rsp + 0x2b0], r13
mov ecx, 0xa
lea rdi, [rsp + 0x2b8]
mov rsi, rbx
rep movsq qword [rdi], qword [rsi]
mov rsi, qword [rsp + 0x2e8]
mov rax, qword [rsp + 0x2f0]
mov qword [rsp + 0x58], rax
mov rcx, r14
call fcn.14001713d
jmp 0x14001d4d6
mov rbx, qword [rsp + 0x250]
mov r14, qword [rsp + 0x258]
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x100], rax
lea rdx, [0x1414eba81]
lea rsi, [rsp + 0x110]
mov r8d, 4
mov rcx, rsi
call fcn.14001aa91
lea rcx, [rsp + 0x2b0]
mov rdx, rsi
call fcn.14001fb88
test rbx, rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0xf8], r14
je 0x14001d937
mov rsi, qword [rsp + 0x2d8]
mov rdi, qword [rsp + 0x2e0]
lea rcx, [rbx + 0x168]
movzx r13d, word [rbx + 0x3d2]
imul rbp, r13, 0x38
mov r12, 0xffffffffffffffff
test rbp, rbp
je 0x14001d910
lea r15, [rcx + 0x38]
mov r8, qword [rcx + 0x28]
mov r9, qword [rcx + 0x30]
mov rcx, rsi
mov rdx, rdi
call fcn.140017d59
add rbp, 0xffffffffffffffc8
inc r12
mov rcx, r15
cmp al, 1
je 0x14001d8dd
movzx eax, al
test eax, eax
jne 0x14001d913
jmp 0x14001d927
mov r12, r13
sub r14, 1
jb 0x14001e24a
mov rbx, qword [rbx + r12*8 + 0x3d8]
jmp 0x14001d8c3
shl r12, 5
mov r15, qword [rbx + r12 + 8]
mov rsi, qword [rbx + r12 + 0x10]
jmp 0x14001d93a
xor r15d, r15d
lea rcx, [rsp + 0x2b0]
call fcn.14001713d
mov r12, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov r14, qword [rdx + 8]
mov rbx, qword [rdx + 0x10]
mov qword [rsp + 0x1f0], r14
mov qword [rsp + 0x1f8], rbx
lea rbp, [0x1414ebfb8]
test rbx, rbx
je 0x14001d9ac
lea r8, [0x1414ebdc4]
mov r9d, 4
mov rcx, r14
mov rdx, rbx
call fcn.140013e65
lea rcx, [0x14001fc26]
lea rdx, [0x14001fc2d]
test al, al
cmovne rdx, rcx
mov cl, byte [rbx + r14 - 1]
call rdx
test al, al
je 0x14001da20
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov qword [rax], rbp
mov qword [rax + 0x10], 2
cmp byte [rsp + 0x90], 0
jne 0x14001da64
test rsi, rsi
je 0x14001da48
and qword [rsp + 0x2b8], 0
mov qword [rsp + 0x2c0], rsi
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x2c8], rax
and qword [rsp + 0x2d8], 0
mov qword [rsp + 0x2e0], rsi
mov qword [rsp + 0x2e8], rax
mov eax, 1
mov rdx, qword [rsp + 0x100]
jmp 0x14001da4c
movabs rdi, 0x8000000000000000
cmp rbx, 3
ja 0x14001da8e
mov rcx, r14
mov rdx, rbx
call fcn.14001fc3c
test al, al
jne 0x14001db0c
jmp 0x14001dc5c
xor eax, eax
xor edx, edx
lea rcx, [rsp + 0x2b0]
mov qword [rcx], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x40], rdx
call fcn.14001929a
mov ecx, dword [r12]
mov rdx, qword [r12 + 8]
call fcn.1400209ae
movaps xmm6, xmmword [rsp + 0x6b0]
add rsp, 0x6c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, [r14 + rbx]
add rax, 0xfffffffffffffffc
xor edx, edx
lea rcx, [0x1414ebf68]
mov rdi, rdx
cmp rdx, 4
je 0x14001dadf
lea rdx, [rdi + 1]
mov r8b, byte [rax + rdi]
lea r9d, [r8 - 0x41]
cmp r9b, 0x1a
setb r9b
shl r9b, 5
or r9b, r8b
mov r8b, byte [rdi + rcx]
lea r10d, [r8 - 0x41]
cmp r10b, 0x1a
setb r10b
shl r10b, 5
or r10b, r8b
cmp r9b, r10b
je 0x14001da9f
mov r14, qword [rsp + 0x1f0]
mov rbx, qword [rsp + 0x1f8]
mov rcx, r14
mov rdx, rbx
call fcn.14001fc3c
test al, al
je 0x14001dc2a
movabs rdi, 0x8000000000000000
lea r13, [rsp + 0x2b0]
mov rcx, r13
mov rdx, r14
mov r8, rbx
call fcn.14001fc63
cmp qword [r13], 0
je 0x14001dd21
mov qword [rsp + 0x68], r12
mov rcx, r14
mov rdx, rbx
mov r8b, 0x2e
call fcn.14001d0ac
mov byte [rsp + 0x268], al
test r15, r15
je 0x14001dd70
add rsi, r15
lea r14, [rsp + 0x180]
mov qword [r14], r15
mov qword [r14 + 8], rsi
and word [r14 + 0x10], 0
mov byte [r14 + 0x18], 1
lea r12, [rsp + 0x2b0]
lea r13, [rsp + 0x1f0]
lea rbp, [rsp + 0x268]
lea rsi, [rsp + 0x110]
mov rcx, r12
mov rdx, r14
call fcn.14001a83a
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2b8]
cmp rcx, rdi
je 0x14001dd68
mov rax, qword [rsp + 0x2c0]
test rax, rax
je 0x14001dc20
mov r8, qword [rsp + 0x2c8]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x110], rcx
mov rcx, r12
mov rdx, r13
mov r8, rbp
mov r9, rsi
call fcn.1400201bd
mov rbx, qword [rsp + 0x2b0]
mov r15, qword [rsp + 0x2b8]
cmp rbx, rdi
jne 0x14001e23b
mov rcx, rdi
mov rdx, r15
call fcn.14002021e
jmp 0x14001db8d
call fcn.14000cf13
jmp 0x14001db8d
cmp rdi, 4
jne 0x14001dc5c
lea rcx, [rsp + 0x210]
mov rdx, r14
mov r8, rbx
call fcn.14001fd3f
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
movabs rdi, 0x8000000000000000
jmp 0x14001e27c
lea rdi, [rsp + 0x110]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call fcn.14001aa91
movaps xmm0, xmmword [rdi]
movaps xmm1, xmmword [rdi + 0x10]
lea rsi, [rsp + 0x2b0]
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
lea rdx, [0x1414ebf68]
mov r8d, 4
mov rcx, rsi
call fcn.14001aadf
movaps xmm0, xmmword [rsi]
movaps xmm1, xmmword [rsi + 0x10]
movaps xmmword [rdi + 0x10], xmm1
movaps xmmword [rdi], xmm0
mov rsi, qword [rdi + 8]
mov r8, qword [rdi + 0x10]
lea rdi, [rsp + 0x2b0]
mov rcx, rdi
mov rdx, rsi
call fcn.14001fcc4
movabs rax, 0x8000000000000000
cmp qword [rdi], rax
movabs rdi, 0x8000000000000000
jne 0x14001dd2e
lea rsi, [rsp + 0x110]
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.14001ce90
mov rdi, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
lea rcx, [rsp + 0x210]
mov rdx, rdi
call fcn.14001fd3f
mov rcx, qword [rsi]
mov rdx, rdi
movabs rdi, 0x8000000000000000
jmp 0x14001dd59
mov rbp, qword [rsp + 0x2b8]
jmp 0x14001d9ac
mov rax, qword [rsp + 0x2c0]
mov qword [rsp + 0x220], rax
movups xmm0, xmmword [rsp + 0x2b0]
movaps xmmword [rsp + 0x210], xmm0
mov rcx, qword [rsp + 0x110]
mov rdx, rsi
call fcn.14000cf13
mov rdx, qword [rsp + 0x60]
jmp 0x14001e277
mov rcx, rdi
call fcn.140001e20
lea rax, [rsp + 0x180]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov r8d, 0x200
mov ebx, 2
xor r14d, r14d
mov ebp, 0xffffffff
xor edi, edi
cmp r8, 0x201
jae 0x14001ddba
lea r12, [rsp + 0x2b0]
mov r15d, 0x200
mov r13, r8
jmp 0x14001ddfa
sub r8, rdi
lea rcx, [rsp + 0x180]
mov rdx, r8
call fcn.140016827
mov r14, qword [rsp + 0x180]
mov rbx, qword [rsp + 0x188]
cmp r14, rbp
mov edi, 0xffffffff
cmovb rdi, r14
mov qword [rsp + 0x190], rdi
mov r12, rbx
mov r15, rdi
mov r13, rdi
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, r12
mov r8d, r13d
call sub.kernel32.dll_GetModuleFileNameW
mov esi, eax
test eax, eax
jne 0x14001de1d
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14001de7b
mov r8d, esi
cmp r13, r8
jne 0x14001de45
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14001f64b
add r13, r13
cmp r13, rbp
cmovae r13, rbp
mov r8, r13
jmp 0x14001dd9e
jb 0x14001dd9e
cmp r15, r8
jb 0x14001f64b
lea rcx, [rsp + 0x110]
mov rdx, r12
call fcn.140016027
mov rcx, r14
mov rdx, rbx
call fcn.140015e8a
movabs r13, 0x8000000000000000
jmp 0x14001dea5
call fcn.1400168d2
mov qword [rsp + 0x118], rax
movabs r13, 0x8000000000000000
mov qword [rsp + 0x110], r13
mov rcx, r14
mov rdx, rbx
call fcn.140015e8a
mov rdi, qword [rsp + 0x110]
mov rsi, qword [rsp + 0x118]
cmp rdi, r13
mov r12, qword [rsp + 0x68]
jne 0x14001decc
mov rcx, rdi
mov rdx, rsi
call fcn.14001600b
jmp 0x14001df4a
mov rbx, qword [rsp + 0x120]
mov r14, qword [rsp + 0x128]
mov rcx, rsi
mov rdx, rbx
call fcn.14001c477
cmp rbx, rdx
cmovb rdx, rbx
test rax, rax
cmove rdx, rbx
lea r9, [rsp + 0x2b0]
mov qword [r9], rdi
mov qword [r9 + 8], rsi
mov qword [r9 + 0x10], rdx
mov qword [r9 + 0x18], r14
lea rsi, [rsp + 0x180]
lea rdx, [rsp + 0x1f0]
lea r8, [rsp + 0x268]
mov rcx, rsi
call fcn.1400201bd
mov rbx, qword [rsi]
mov r15, qword [rsi + 8]
cmp rbx, r13
mov rdi, r13
jne 0x14001e252
mov rcx, rdi
mov rdx, r15
call fcn.14002021e
lea rax, [rsp + 0x180]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov r8d, 0x200
mov edi, 2
xor ebx, ebx
mov ebp, 0xffffffff
xor r13d, r13d
cmp r8, 0x201
jae 0x14001df94
lea r15, [rsp + 0x2b0]
mov r14d, 0x200
mov r12, r8
jmp 0x14001dfd5
sub r8, r13
lea rcx, [rsp + 0x180]
mov rdx, r8
call fcn.140016827
mov rbx, qword [rsp + 0x180]
mov rdi, qword [rsp + 0x188]
cmp rbx, rbp
mov r13d, 0xffffffff
cmovb r13, rbx
mov qword [rsp + 0x190], r13
mov r15, rdi
mov r14, r13
mov r12, r13
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r15
mov edx, r12d
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x14001dffa
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14001e09d
mov r8d, esi
cmp r12, r8
jne 0x14001e022
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14001f64b
add r12, r12
cmp r12, rbp
cmovae r12, rbp
mov r8, r12
jmp 0x14001df78
jb 0x14001df78
cmp r14, r8
jb 0x14001f64b
lea rsi, [rsp + 0x110]
mov rcx, rsi
mov rdx, r15
call fcn.140016027
lea r14, [rsp + 0xa0]
lea rdx, [rsp + 0x1f0]
lea r8, [rsp + 0x268]
mov rcx, r14
mov r9, rsi
call fcn.1400201bd
mov rcx, rbx
mov rdx, rdi
call fcn.140015e8a
mov rbx, qword [r14]
movabs rdi, 0x8000000000000000
lea rax, [rdi + 2]
cmp rbx, rax
jl 0x14001e0d2
mov r15, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
jmp 0x14001e243
call fcn.1400168d2
mov qword [rsp + 0xa8], rax
movabs rax, 0x8000000000000000
inc rax
mov qword [rsp + 0xa0], rax
mov rcx, rbx
mov rdx, rdi
call fcn.140015e8a
mov rbx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
mov rcx, rbx
call fcn.140020232
lea rax, [rsp + 0x180]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov r8d, 0x200
mov ebp, 2
xor ebx, ebx
mov edi, 0xffffffff
xor r13d, r13d
cmp r8, 0x201
jae 0x14001e12c
lea r15, [rsp + 0x2b0]
mov r14d, 0x200
mov r12, r8
jmp 0x14001e16d
sub r8, r13
lea rcx, [rsp + 0x180]
mov rdx, r8
call fcn.140016827
mov rbx, qword [rsp + 0x180]
mov rbp, qword [rsp + 0x188]
cmp rbx, rdi
mov r13d, 0xffffffff
cmovb r13, rbx
mov qword [rsp + 0x190], r13
mov r15, rbp
mov r14, r13
mov r12, r13
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r15
mov edx, r12d
call sub.kernel32.dll_GetWindowsDirectoryW
mov esi, eax
test eax, eax
jne 0x14001e192
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14001e6b2
mov r8d, esi
cmp r12, r8
jne 0x14001e1ba
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14001f64b
add r12, r12
cmp r12, rdi
cmovae r12, rdi
mov r8, r12
jmp 0x14001e110
jb 0x14001e110
cmp r14, r8
jb 0x14001f64b
lea rsi, [rsp + 0x110]
mov rcx, rsi
mov rdx, r15
call fcn.140016027
lea r14, [rsp + 0xa0]
lea rdx, [rsp + 0x1f0]
lea r8, [rsp + 0x268]
mov rcx, r14
mov r9, rsi
call fcn.1400201bd
mov rcx, rbx
mov rdx, rbp
call fcn.140015e8a
mov rbx, qword [r14]
movabs rdi, 0x8000000000000000
lea rax, [rdi + 2]
cmp rbx, rax
mov r12, qword [rsp + 0x68]
jl 0x14001e6ed
mov r15, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0xb0]
jmp 0x14001e25a
mov rsi, qword [rsp + 0x2c0]
mov r12, qword [rsp + 0x68]
jmp 0x14001e25a
xor r15d, r15d
jmp 0x14001d93a
mov rsi, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x210], rbx
mov qword [rsp + 0x218], r15
mov qword [rsp + 0x220], rsi
mov rsi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x210]
mov rbp, qword [rsp + 0x218]
cmp r13, rdi
je 0x14001d9b1
mov r8, qword [rsp + 0x220]
cmp r8, 5
mov qword [rsp + 0x80], r13
mov qword [rsp + 0x68], r12
jb 0x14001e2dc
lea rax, [r8*2 - 0xa]
add rax, rbp
test rax, rax
je 0x14001e2dc
cmp word [rax], 0x2e
jne 0x14001e2dc
lea rax, [r8*2]
add rax, rbp
cmp word [rax - 2], 0
je 0x14001e831
mov rdi, qword [rdx + 8]
mov r15, qword [rdx + 0x28]
mov bl, byte [rdx + 0xc5]
mov r12, qword [rdx + 0x10]
add r12, rdi
imul rsi, qword [rdx + 0x30], 0x28
lea r14, [rsp + 0x110]
and qword [r14], 0
mov qword [r14 + 8], 2
and qword [r14 + 0x10], 0
mov rcx, r14
mov dx, 0x22
call fcn.14001a769
lea rdx, [rsp + 0x2b0]
mov qword [rdx], rdi
mov qword [rdx + 8], r12
and word [rdx + 0x10], 0
mov rcx, r14
call fcn.14001a693
mov rcx, r14
mov dx, 0x22
call fcn.14001a769
test rsi, rsi
je 0x14001e391
lea r12, [r15 + 0x28]
mov rcx, r14
mov dx, 0x20
call fcn.14001a769
mov rcx, r14
mov rdx, r15
mov r8d, ebx
call fcn.14002024e
add rsi, 0xffffffffffffffd8
mov r15, r12
test rax, rax
je 0x14001e343
mov rdi, rax
mov rcx, qword [rsp + 0x110]
mov rdx, qword [rsp + 0x118]
call fcn.140015e8a
mov r12, qword [rsp + 0x68]
jmp 0x14001e3b5
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
movabs rcx, 0x8000000000000000
cmp rax, rcx
mov r12, qword [rsp + 0x68]
jne 0x14001e3dd
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
mov rcx, r13
mov rdx, rbp
call fcn.140015e8a
jmp 0x14001d9c4
mov rdx, qword [rsp + 0x120]
mov cl, 1
mov dword [rsp + 0x10c], ecx
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x78], rbp
mov r15, rbp
mov qword [rsp + 0x1e8], r13
mov rsi, qword [rsp + 0x58]
lea rcx, [rsp + 0x268]
mov qword [rcx], rax
mov qword [rcx + 8], rdi
mov qword [rcx + 0x10], rdx
xor r12d, r12d
xor edx, edx
call fcn.14001a769
mov rcx, qword [rsp + 0x60]
cmp byte [rcx + 0xc4], 0
mov eax, 0x400
mov edx, 0x608
cmove edx, eax
or edx, dword [rcx + 0xc0]
mov dword [rsp + 0xe8], edx
mov eax, 2
mov qword [rsp + 0xf0], rax
mov ebp, 2
mov ebx, 0
cmp byte [rsp + 0x90], 0
movabs rdi, 0x8000000000000000
jne 0x14001e8e2
mov qword [rsp + 0x98], r15
and qword [rsp + 0x210], 0
mov qword [rsp + 0x218], 2
and qword [rsp + 0x220], 0
mov rcx, qword [rsp + 0x100]
test rcx, rcx
jne 0x14001e4c7
lea rcx, [rsp + 0x210]
xor edx, edx
call fcn.14001a769
mov rcx, qword [rsp + 0x100]
xor eax, eax
test rsi, rsi
setne al
cmove rcx, rsi
lea r8, [rsp + 0x2b0]
mov qword [r8], rax
and qword [r8 + 8], 0
mov qword [r8 + 0x10], rsi
mov rdx, qword [rsp + 0xf8]
mov qword [r8 + 0x18], rdx
mov qword [r8 + 0x20], rax
and qword [r8 + 0x28], 0
mov qword [r8 + 0x30], rsi
mov qword [r8 + 0x38], rdx
mov qword [r8 + 0x40], rcx
lea rbp, [rsp + 0x118]
lea r15, [rsp + 0x110]
lea r13, [rsp + 0x180]
lea r12, [rsp + 0x210]
mov rcx, r15
lea rdx, [rsp + 0x2b0]
call fcn.140015c21
mov rax, qword [rsp + 0x110]
test rax, rax
je 0x14001e89b
mov rdx, qword [rsp + 0x120]
imul r8, rdx, 0x38
mov rcx, qword [rax + r8 + 0x168]
cmp rcx, rdi
je 0x14001e89b
mov r14, r12
add r8, rax
add r8, 0x168
mov r9, qword [r8 + 0x20]
mov qword [rsp + 0x90], r9
mov rsi, qword [r8 + 0x28]
mov r12, qword [r8 + 0x30]
shl rdx, 5
lea r9, [rax + rdx]
mov rbx, qword [rax + rdx]
mov rax, qword [rax + rdx + 8]
mov qword [rsp + 0x58], rax
movups xmm0, xmmword [r9 + 0x10]
movaps xmmword [rsp + 0x1f0], xmm0
mov qword [rsp + 0x110], rcx
mov rax, qword [r8 + 0x18]
mov qword [rbp + 0x10], rax
movups xmm0, xmmword [r8 + 8]
movups xmmword [rbp], xmm0
mov rcx, r13
mov rdx, r15
call fcn.1400203b1
mov rcx, qword [rsp + 0x180]
mov rdx, qword [rsp + 0x188]
cmp rcx, rdi
je 0x14001ee36
call fcn.14000cf13
mov rcx, r14
mov rdx, rsi
mov r8, r12
mov r12, r14
call fcn.140015e47
mov rcx, qword [rsp + 0x90]
mov rdx, rsi
call fcn.140015e8a
mov rcx, r14
mov dx, 0x3d
call fcn.14001a769
mov qword [rsp + 0x110], rbx
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x118], rax
movaps xmm0, xmmword [rsp + 0x1f0]
mov rbx, rbp
movups xmmword [rbp + 8], xmm0
mov rcx, r13
mov rdx, r15
call fcn.1400203b1
mov rsi, qword [rsp + 0x180]
mov r14, qword [rsp + 0x188]
cmp rsi, rdi
je 0x14001ee58
mov rax, qword [rsp + 0x190]
add rax, r14
mov qword [rsp + 0xa0], r14
mov qword [rsp + 0xa8], rax
and word [rsp + 0xb0], 0
mov rcx, r12
lea rdx, [rsp + 0xa0]
call fcn.14001a693
mov rcx, rsi
mov rdx, r14
call fcn.14000cf13
mov rcx, r12
xor edx, edx
call fcn.14001a769
mov rbp, rbx
jmp 0x14001e528
call fcn.1400168d2
mov qword [rsp + 0xa8], rax
movabs rdi, 0x8000000000000000
lea rax, [rdi + 1]
mov qword [rsp + 0xa0], rax
mov rcx, rbx
mov rdx, rbp
call fcn.140015e8a
mov rbx, qword [rsp + 0xa0]
mov r12, qword [rsp + 0x68]
lea rsi, [rsp + 0xa0]
mov rdx, qword [rsi + 8]
mov rcx, rbx
call fcn.140020232
lea rdx, [0x1414eba81]
mov r8d, 4
mov rcx, rsi
call fcn.140019d53
mov rax, qword [rsi]
cmp rax, rdi
je 0x14001e887
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
add rax, rcx
lea r12, [rsp + 0x180]
mov qword [rsp + 0x78], rcx
mov qword [r12], rcx
mov qword [r12 + 8], rax
and word [r12 + 0x10], 0
mov byte [r12 + 0x18], 1
lea r13, [rsp + 0x2b0]
lea rbp, [rsp + 0x1f0]
lea rsi, [rsp + 0x268]
lea r14, [rsp + 0x110]
mov rcx, r13
mov rdx, r12
call fcn.14001a83a
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2b8]
cmp rcx, rdi
je 0x14001e85e
mov rax, qword [rsp + 0x2c0]
test rax, rax
je 0x14001e81d
mov r8, qword [rsp + 0x2c8]
mov qword [rsp + 0x118], rdx
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], r8
mov qword [rsp + 0x110], rcx
mov rcx, r13
mov rdx, rbp
mov r8, rsi
mov r9, r14
call fcn.1400201bd
mov rbx, qword [rsp + 0x2b0]
mov r15, qword [rsp + 0x2b8]
movabs rdi, 0x8000000000000000
cmp rbx, rdi
jne 0x14001ea2c
mov rcx, rdi
mov rdx, r15
call fcn.14002021e
jmp 0x14001e780
call fcn.14000cf13
movabs rdi, 0x8000000000000000
jmp 0x14001e780
movzx ecx, word [rax - 8]
cmp ecx, 0x42
je 0x14001eab9
cmp ecx, 0x43
je 0x14001eae5
cmp ecx, 0x62
je 0x14001eab9
cmp ecx, 0x63
je 0x14001eae5
jmp 0x14001e2dc
movabs rdi, 0x8000000000000000
mov rcx, rdi
call fcn.140001e20
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
call fcn.14000cf13
mov r12, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14002021e
lea rbp, [0x1414ebf80]
jmp 0x14001d9ac
lea rcx, [rsp + 0x2b0]
call fcn.14001929a
lea rsi, [rsp + 0x210]
mov rcx, rsi
xor edx, edx
call fcn.14001a769
mov rbx, qword [rsi]
mov rbp, qword [rsi + 8]
mov r12, rbp
cmp rbx, rdi
mov rcx, qword [rsp + 0x60]
mov r13, qword [rsp + 0x80]
mov r15, qword [rsp + 0x98]
je 0x14001ee8d
xor edx, edx
mov r14d, 0
cmp qword [rcx + 0x38], rdi
jne 0x14001e9ac
mov qword [rsp + 0x100], rdx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1f0], xmm0
and qword [rsp + 0x200], 0
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1414f60a0], cl
jne 0x14001ea4b
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x90], rbx
lea r8, [rsp + 0xa0]
and qword [r8], 0
and qword [r8 + 0x10], 0
and qword [r8 + 0x20], 0
mov r14, qword [rsp + 0x60]
lea rcx, [r14 + 0x58]
cmp dword [r14 + 0x58], 6
mov edi, dword [r14 + 0x68]
mov rbx, qword [rsp + 0x68]
cmove rcx, rbx
lea rsi, [r14 + 0x78]
cmp dword [r14 + 0x78], 6
cmove rsi, rbx
mov edx, 0xfffffff6
call fcn.140020559
test rax, rax
je 0x14001edd6
mov rax, qword [rsp + 0x88]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov r12, rbx
mov esi, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x58]
jmp 0x14001fa68
add rcx, 0x38
call fcn.14002043a
test rax, rax
jne 0x14001ea0b
mov rax, qword [rdx + 8]
mov rcx, qword [rdx + 0x10]
add rcx, rax
lea rdx, [rsp + 0x2b0]
mov qword [rdx], rax
mov qword [rdx + 8], rcx
and word [rdx + 0x10], 0
lea rsi, [rsp + 0x110]
mov rcx, rsi
call fcn.140020493
mov rcx, rsi
xor edx, edx
call fcn.14001a769
mov r14, qword [rsi]
mov rdx, qword [rsi + 8]
mov qword [rsp + 0xf0], rdx
cmp r14, rdi
jne 0x14001e8f4
mov rax, qword [rsp + 0x88]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
mov r12, qword [rsp + 0x68]
mov esi, dword [rsp + 0x70]
jmp 0x14001facd
mov rsi, qword [rsp + 0x2c0]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
call fcn.14000cf13
jmp 0x14001e243
call fcn.14001a820
test al, al
jne 0x14001ea66
mov cl, 1
xor eax, eax
lock cmpxchg byte [0x1414f60a0], cl
je 0x14001e922
lea rsi, [0x1414f60a0]
lea rdi, [rsp + 0x2b0]
cmp al, 2
je 0x14001ea89
mov al, 2
xchg byte [0x1414f60a0], al
test al, al
je 0x14001e922
mov byte [rsp + 0x2b0], 2
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
mov r9d, 0xffffffff
call sub.api_ms_win_core_synch_l1_2_0.dll_WaitOnAddress
cmp eax, 1
je 0x14001eab2
call sub.kernel32.dll_GetLastError
call fcn.14001a820
jmp 0x14001ea75
movzx edx, word [rax - 6]
or edx, 0x20
cmp edx, 0x61
mov rdx, qword [rsp + 0x60]
jne 0x14001eadb
movzx edx, word [rax - 4]
or edx, 0x20
cmp edx, 0x74
mov rdx, qword [rsp + 0x60]
je 0x14001eb05
cmp cx, 0x43
jne 0x14001e2dc
movzx ecx, word [rax - 6]
or ecx, 0x20
cmp ecx, 0x6d
jne 0x14001e2dc
movzx eax, word [rax - 4]
or eax, 0x20
cmp eax, 0x64
jne 0x14001e2dc
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], rbp
lea rax, [rsp + 0x110]
and qword [rax], 0
mov qword [rax + 8], 2
and qword [rax + 0x10], 0
mov r8d, 0x200
mov edi, 2
xor ebx, ebx
mov ebp, 0xffffffff
xor r14d, r14d
cmp r8, 0x201
jae 0x14001eb59
lea r15, [rsp + 0x2b0]
mov r12d, 0x200
mov r13, r8
jmp 0x14001eb9a
sub r8, r14
lea rcx, [rsp + 0x110]
mov rdx, r8
call fcn.140016827
mov rbx, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
cmp rbx, rbp
mov r14d, 0xffffffff
cmovb r14, rbx
mov qword [rsp + 0x120], r14
mov r15, rdi
mov r12, r14
mov r13, r14
xor ecx, ecx
call sub.kernel32.dll_SetLastError
mov rcx, r15
mov edx, r13d
call sub.kernel32.dll_GetSystemDirectoryW
mov esi, eax
test eax, eax
jne 0x14001ebbf
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x14001eeae
mov r8d, esi
cmp r13, r8
jne 0x14001ebe7
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x14001f64b
add r13, r13
cmp r13, rbp
cmovae r13, rbp
mov r8, r13
jmp 0x14001eb3d
jb 0x14001eb3d
cmp r12, r8
jb 0x14001f64b
lea rsi, [rsp + 0x180]
mov rcx, rsi
mov rdx, r15
call fcn.1400191f2
mov rcx, rbx
mov rdx, rdi
call fcn.140015e8a
mov rax, qword [rsi]
mov r15, qword [rsi + 8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
je 0x14001ef30
mov rsi, qword [rsp + 0x190]
lea rdi, [rsp + 0xa0]
mov qword [rdi], rax
mov qword [rdi + 8], r15
mov qword [rdi + 0x10], rsi
mov eax, 1
lea rbx, [rsp + 0x2d0]
mov qword [rbx - 0x20], rax
and qword [rbx - 0x18], 0
mov qword [rbx - 0x10], rax
and word [rbx - 8], 0
lea rax, [0x1414ebfda]
mov qword [rbx], rax
lea rcx, [0x1414ebfe2]
mov qword [rbx + 8], rcx
and word [rbx + 0x10], 0
mov r14d, 3
mov rcx, qword [rsp + 0x60]
test rax, rax
je 0x14001eccd
mov rcx, rbx
call fcn.140015718
test ax, ax
je 0x14001ecba
mov ebp, edx
mov rcx, qword [rsp + 0x60]
jmp 0x14001ed05
and qword [rsp + 0x2d0], 0
mov rcx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x78]
cmp qword [rsp + 0x2b0], 0
je 0x14001ef11
mov rax, qword [rsp + 0x2b8]
cmp qword [rsp + 0x2c0], rax
je 0x14001ef11
inc rax
mov qword [rsp + 0x2b8], rax
movzx ebp, word [rsp + 0x2c8]
cmp rsi, qword [rsp + 0xa0]
jne 0x14001edb4
mov rcx, qword [rsp + 0x2b0]
mov rdx, qword [rsp + 0x2d0]
test rdx, rdx
je 0x14001ed77
mov rax, qword [rsp + 0x2d8]
sub rax, rdx
movzx r8d, word [rsp + 0x2e0]
add rax, 2
xor edx, edx
div r14
cmp r8w, 1
sbb rax, 0xffffffffffffffff
test rcx, rcx
je 0x14001ed90
mov rdx, qword [rsp + 0x2c0]
sub rdx, qword [rsp + 0x2b8]
mov rcx, 0xffffffffffffffff
add rax, rdx
jb 0x14001ed72
mov rcx, rax
mov rax, rcx
jmp 0x14001ed90
test rcx, rcx
je 0x14001ed8e
mov rax, qword [rsp + 0x2c0]
sub rax, qword [rsp + 0x2b8]
jmp 0x14001ed90
xor eax, eax
mov rdx, 0xffffffffffffffff
inc rax
je 0x14001ed9f
mov rdx, rax
mov rcx, rdi
call fcn.140015455
mov r15, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x60]
mov word [r15 + rsi*2], bp
inc rsi
mov qword [rsp + 0xb0], rsi
mov rax, qword [rsp + 0x2d0]
mov rbp, qword [rsp + 0x78]
jmp 0x14001ec9f
mov qword [rsp + 0xf8], rdx
lea r8, [rsp + 0xb0]
lea rcx, [r14 + 0x68]
cmp edi, 6
mov r14, rbx
cmove rcx, rbx
mov edx, 0xfffffff5
call fcn.140020559
mov rbx, rdx
test rax, rax
je 0x14001eed5
mov rax, qword [rsp + 0x88]
mov qword [rax], rbx
mov qword [rax + 0x10], 2
mov r12, r14
mov esi, dword [rsp + 0x70]
mov rbx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x58]
jmp 0x14001fa5b
mov rbp, rdx
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
call fcn.14000cf13
mov rcx, qword [rsp + 0x90]
mov rdx, rsi
call fcn.140015e8a
jmp 0x14001ee5b
mov rbp, r14
mov r13, qword [rsp + 0x80]
lea rcx, [rsp + 0x2b0]
call fcn.14001929a
mov rcx, qword [rsp + 0x210]
mov rdx, qword [rsp + 0x218]
call fcn.140015e8a
mov r15, qword [rsp + 0x98]
mov rax, qword [rsp + 0x88]
mov qword [rax], rbp
mov qword [rax + 0x10], 2
mov r12, qword [rsp + 0x68]
mov esi, dword [rsp + 0x70]
jmp 0x14001fad8
call fcn.1400168d2
mov r15, rax
mov rcx, rbx
mov rdx, rdi
call fcn.140015e8a
mov r12, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
jmp 0x14001ef30
lea r8, [rsp + 0xc0]
mov rcx, rsi
mov edx, 0xfffffff4
call fcn.140020559
mov rsi, rdx
test rax, rax
je 0x14001f090
mov rax, qword [rsp + 0x88]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
mov r12, r14
jmp 0x14001fa42
mov rdx, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xa8]
movabs rax, 0x8000000000000000
cmp rdx, rax
jne 0x14001ef45
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x88]
mov qword [rax], r15
jmp 0x14001e3c5
mov qword [rsp + 0x1e8], rdx
mov qword [rsp + 0x98], r15
mov r15, qword [rcx + 0x28]
mov r14, qword [rcx + 0x30]
mov al, byte [rcx + 0xc5]
mov byte [rsp + 0xf0], al
lea rax, [0x1414ebce8]
lea rcx, [rsp + 0x180]
mov qword [rcx], rax
lea rax, [0x1414ebd04]
mov qword [rcx + 8], rax
and word [rcx + 0x10], 0
call fcn.140015718
test ax, ax
je 0x14001f171
mov esi, edx
mov rax, qword [rsp + 0x188]
sub rax, qword [rsp + 0x180]
movzx ecx, word [rsp + 0x190]
add rax, 2
mov r13d, 3
xor edx, edx
div r13
cmp cx, 1
sbb rax, 0xffffffffffffffff
cmp rax, 4
cmovb rax, r13
lea rdx, [rax + 1]
lea rdi, [rsp + 0x2b0]
mov rcx, rdi
call fcn.1400153ae
mov rax, qword [rdi + 8]
mov word [rax], si
movups xmm0, xmmword [rdi]
lea rbx, [rsp + 0x110]
movaps xmmword [rbx], xmm0
mov qword [rbx + 0x10], 1
mov rax, qword [rsp + 0x190]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [rsp + 0x180]
movaps xmmword [rdi], xmm0
mov rcx, rdi
call fcn.140015718
cmp ax, 1
jne 0x14001f14f
mov esi, edx
mov r12, qword [rsp + 0x120]
cmp r12, qword [rsp + 0x110]
jne 0x14001f076
mov rax, qword [rsp + 0x2b8]
sub rax, qword [rsp + 0x2b0]
movzx ecx, word [rsp + 0x2c0]
add rax, 2
xor edx, edx
div r13
cmp cx, 1
sbb rax, 0xffffffffffffffff
lea rdx, [rax + 1]
mov rcx, rbx
call fcn.140015455
mov rax, qword [rsp + 0x118]
mov word [rax + r12*2], si
inc r12
mov qword [rsp + 0x120], r12
jmp 0x14001f01b
xorps xmm0, xmm0
movups xmmword [rsp + 0x144], xmm0
movups xmmword [rsp + 0x138], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x158], xmm0
movups xmmword [rsp + 0x168], xmm0
test rsi, rsi
mov rax, qword [rsp + 0xf8]
jne 0x14001f0da
test rbx, rbx
jne 0x14001f0da
test rax, rax
je 0x14001f0fd
mov dword [rsp + 0x14c], 0x100
mov qword [rsp + 0x160], rax
mov qword [rsp + 0x168], rbx
mov qword [rsp + 0x170], rsi
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax + 0xb8]
test rdx, rdx
mov qword [rsp + 0x98], r15
je 0x14001f53f
mov qword [rsp + 0x290], rsi
and qword [rsp + 0x298], 0
mov dword [rsp + 0x110], 0x70
mov rax, rdx
shr rax, 0x20
je 0x14001f55a
lea rsi, [0x1414ec018]
jmp 0x14001fa14
movaps xmm0, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xa0], xmm0
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0xb0], rax
jmp 0x14001f18f
and qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 2
and qword [rsp + 0xb0], 0
lea rcx, [rsp + 0xa0]
mov dx, 0x22
call fcn.14001a769
mov rbx, qword [rsp + 0x70]
lea rax, [rbx + rbx]
xor ecx, ecx
lea rdi, [0x1414ebd78]
cmp rax, rcx
je 0x14001f1c8
cmp word [rbp + rcx], 0x22
lea rcx, [rcx + 2]
jne 0x14001f1b2
jmp 0x14001f5b4
cmp word [rbp + rbx*2 - 2], 0x5c
je 0x14001f5b4
lea rsi, [rbx - 1]
mov rdi, qword [rsp + 0x78]
lea rcx, [rdi + rbx*2]
add rcx, 0xfffffffffffffffe
lea r8, [0x1414ebd04]
mov edx, 1
mov r9d, 1
call fcn.140017457
xor edx, edx
test al, al
cmovne rdx, rdi
test rdx, rdx
cmove rdx, rdi
cmove rsi, rbx
lea r8, [rdx + rsi*2]
lea rbx, [rsp + 0xa0]
mov rcx, rbx
call fcn.140015e3c
mov rcx, rbx
mov dx, 0x22
call fcn.14001a769
imul rsi, r14, 0x28
add rsi, r15
lea r14, [rsp + 0x2b0]
lea r13, [0x1414e0ecb]
lea rbp, [0x1414ebd90]
mov qword [rsp + 0xe8], rsi
cmp r15, rsi
je 0x14001fb18
lea r12, [r15 + 0x28]
mov rcx, rbx
mov dx, 0x20
call fcn.14001a769
cmp qword [r15], 0
je 0x14001f293
mov rcx, rbx
mov rdx, r15
mov r8b, byte [rsp + 0xf0]
call fcn.14002024e
mov r15, r12
test rax, rax
je 0x14001f254
jmp 0x14001fb79
mov rdi, qword [r15 + 0x10]
mov rsi, qword [r15 + 0x18]
lea rax, [rdi + rsi]
mov qword [rsp + 0x70], rax
xor r15d, r15d
cmp rsi, r15
je 0x14001f2c9
mov r8b, byte [rdi + r15]
mov edx, 2
mov rcx, rbp
call fcn.14001d0ac
inc r15
test al, al
je 0x14001f2a7
jmp 0x14001f5ad
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14001fc63
cmp qword [rsp + 0x2b0], 0
je 0x14001f300
test rsi, rsi
je 0x14001f321
cmp byte [rsp + 0xf0], 0
setne al
cmp byte [rsi + rdi - 1], 0x5c
sete sil
or sil, al
jmp 0x14001f324
mov rdi, qword [rsp + 0x2b8]
mov r15, r12
test rdi, rdi
mov rsi, qword [rsp + 0xe8]
je 0x14001f254
jmp 0x14001f5b4
mov sil, 1
mov qword [rsp + 0x2b0], rdi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x2b8], rax
mov rcx, r14
call fcn.1400155ae
test eax, eax
je 0x14001f40d
mov r15d, edx
cmp edx, 0x110000
je 0x14001f339
mov eax, r15d
and eax, 0xfffff800
cmp eax, 0xd800
je 0x14001f339
cmp r15d, 0x7f
ja 0x14001f398
lea eax, [r15 - 0x30]
cmp eax, 0xa
jb 0x14001f398
mov eax, r15d
and eax, 0x5f
add eax, 0xffffffbf
cmp eax, 0x19
jbe 0x14001f398
mov edx, 0xc
lea rcx, [0x1414ebcdc]
mov r8d, r15d
call fcn.14001d0ac
test al, al
je 0x14001f405
xor eax, eax
cmp r15d, 0x1100a1
setae al
xor ecx, ecx
cmp r15d, 0x1100a0
setae cl
mov edx, 1
xor r8d, r8d
cmp r8, rdx
jae 0x14001f3d1
mov rdx, rcx
mov r8, rax
cmp r15d, 0x1100a0
jne 0x14001f3b8
jmp 0x14001f64b
test r8, r8
jne 0x14001f64b
xor ecx, ecx
mov rax, 0xffffffffffffffff
cmp rax, 3
je 0x14001f339
movzx edx, byte [rax + r13 + 1]
add ecx, edx
inc rax
cmp ecx, r15d
jbe 0x14001f3e3
test al, 1
je 0x14001f339
mov sil, 1
jmp 0x14001f339
test sil, 1
je 0x14001f41f
mov rcx, rbx
mov dx, 0x22
call fcn.14001a769
mov qword [rsp + 0x2b0], rdi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x2b8], rax
and word [rsp + 0x2c0], 0
xor edi, edi
mov rcx, r14
call fcn.14001530c
test ax, ax
je 0x14001f4da
mov r15d, edx
cmp dx, 0xd
je 0x14001f471
movzx eax, r15w
cmp eax, 0x22
je 0x14001f488
cmp eax, 0x25
je 0x14001f471
cmp eax, 0x5c
jne 0x14001f4c8
inc rdi
jmp 0x14001f4ca
mov r8d, 7
mov rcx, rbx
lea rdx, [0x1414ebcce]
call fcn.140015e47
jmp 0x14001f4c8
mov rcx, rbx
mov rdx, rdi
call fcn.140015455
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
sub rdi, 1
jb 0x14001f4b4
mov word [rcx + rax*2], 0x5c
inc rax
jmp 0x14001f4a3
mov qword [rsp + 0xb0], rax
mov rcx, rbx
mov dx, 0x22
call fcn.14001a769
xor edi, edi
mov rcx, rbx
mov edx, r15d
call fcn.14001a769
jmp 0x14001f43f
mov r15, r12
test sil, 1
mov rsi, qword [rsp + 0xe8]
je 0x14001f254
mov rcx, rbx
mov rdx, rdi
call fcn.140015455
mov rcx, qword [rsp + 0xa8]
mov rax, qword [rsp + 0xb0]
sub rdi, 1
jb 0x14001f51b
mov word [rcx + rax*2], 0x5c
inc rax
jmp 0x14001f50a
mov qword [rsp + 0xb0], rax
mov rcx, rbx
mov dx, 0x22
call fcn.14001a769
mov r15, r12
mov rsi, qword [rsp + 0xe8]
jmp 0x14001f254
mov qword [rsp + 0x1e0], rdx
lea rax, [rsp + 0x110]
mov dword [rax], 0x68
jmp 0x14001f869
xor esi, esi
lea rdi, [rsp + 0x298]
xor ecx, ecx
mov qword [rsp + 0x1e0], rdx
xor r8d, r8d
mov r9, rdi
call sub.kernel32.dll_InitializeProcThreadAttributeList
mov rdi, qword [rdi]
test rdi, rdi
je 0x14001f60d
js 0x14001f64b
mov rcx, rdi
not rcx
shr rcx, 0x3f
mov rdx, rdi
call fcn.140015594
mov r15, rax
mov rsi, rdi
test rax, rax
jne 0x14001f613
jmp 0x14001f64b
lea rdi, [0x1414ebd28]
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
call fcn.140015e8a
mov rax, qword [rsp + 0x88]
mov qword [rax], rdi
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x98]
call fcn.140015e8a
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x78]
mov r13, qword [rsp + 0x80]
jmp 0x14001e3cd
mov r15d, 1
cmp rdi, 1
mov r13, rdi
adc r13, 0
test rdi, rdi
cmove r13, rdi
cmp rsi, r13
jbe 0x14001f663
test rdi, rdi
je 0x14001f64d
mov r8d, 1
mov rcx, r15
mov rdx, rsi
mov r9, r13
call fcn.14000b8b0
mov r15, rax
test rax, rax
jne 0x14001f663
ud2
mov edx, 1
mov rcx, r15
mov r8, rsi
call fcn.140002585
mov r15d, 1
lea r9, [rsp + 0x298]
mov rcx, r15
mov rdi, qword [rsp + 0x1e0]
mov edx, edi
xor r8d, r8d
call sub.kernel32.dll_InitializeProcThreadAttributeList
test eax, eax
je 0x14001f9e7
mov qword [rsp + 0x288], r13
mov r8, qword [rsp + 0x60]
mov rax, qword [r8 + 0xa8]
xor ecx, ecx
test rax, rax
setne cl
mov rdx, rdi
cmove rdx, rax
lea rsi, [rsp + 0x188]
mov qword [rsi - 8], rcx
and qword [rsi], 0
mov r8, qword [r8 + 0xb0]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], r8
mov qword [rsi + 0x18], rcx
and qword [rsi + 0x20], 0
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x30], r8
mov qword [rsi + 0x38], rdx
xorps xmm6, xmm6
test rdi, rdi
je 0x14001f82f
dec rdi
mov qword [rsp + 0x1c8], rdi
mov rax, qword [rsp + 0x1c0]
test rax, rax
je 0x14001f82f
dec rax
mov qword [rsp + 0x1c0], rax
cmp qword [rsp + 0x180], 0
je 0x14001f64b
mov r13, qword [rsp + 0x188]
test r13, r13
jne 0x14001f75a
mov rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
mov rcx, rsi
call fcn.14000208e
mov qword [rsp + 0x180], 1
mov r13, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x198]
movzx eax, word [r13 + 0x16a]
cmp rdi, rax
jb 0x14001f794
mov rax, qword [r13]
test rax, rax
je 0x14001f64b
inc r8
movzx edi, word [r13 + 0x168]
mov r13, rax
jmp 0x14001f76a
test r8, r8
je 0x14001f7b3
mov rdx, qword [r13 + rdi*8 + 0x178]
dec r8
lea rcx, [rsp + 0x210]
call fcn.14000208e
jmp 0x14001f7d0
lea rax, [rdi + 1]
mov qword [rsp + 0x210], r13
and qword [rsp + 0x218], 0
mov qword [rsp + 0x220], rax
imul rax, rdi, 0x18
mov rcx, qword [rsp + 0x220]
mov qword [rsi + 0x10], rcx
mov rcx, qword [rsp + 0x210]
mov qword [rsi], rcx
mov rcx, qword [rsp + 0x218]
mov qword [rsi + 8], rcx
mov r8, qword [r13 + rdi*8 + 8]
mov r9, qword [r13 + rax + 0x60]
mov rax, qword [r13 + rax + 0x70]
movups xmmword [rsp + 0x28], xmm6
mov qword [rsp + 0x20], rax
mov rcx, r15
xor edx, edx
call sub.kernel32.dll_UpdateProcThreadAttribute
test eax, eax
je 0x14001f9f1
mov rdi, qword [rsp + 0x1c8]
jmp 0x14001f6e2
or dword [rsp + 0xe8], 0x80000
lea rax, [rsp + 0x2b0]
lea rsi, [rsp + 0x110]
mov ecx, 0xd
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov qword [rax + 0x68], r15
mov r13, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x290]
mov rdx, qword [rsp + 0x270]
lea rcx, [rsp + 0x1f0]
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov eax, dword [rsp + 0xe8]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x98]
xor r8d, r8d
xor r9d, r9d
call sub.kernel32.dll_CreateProcessW
test eax, eax
je 0x14001f9af
movaps xmm0, xmmword [rsp + 0x1f0]
movups xmm1, xmmword [rsp + 0xa0]
movups xmm2, xmmword [rsp + 0xb0]
movups xmm3, xmmword [rsp + 0xc0]
mov rax, qword [rsp + 0x88]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rax + 0x20], xmm2
movups xmmword [rax + 0x30], xmm3
movups xmmword [rax], xmm0
cmp qword [rsp + 0x1e0], 0
mov r12, r14
je 0x14001f918
mov rcx, r15
mov rdx, qword [rsp + 0x288]
call fcn.14002097a
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
mov rcx, rbx
call sub.kernel32.dll_CloseHandle
mov rcx, qword [rsp + 0xf8]
call sub.kernel32.dll_CloseHandle
mov ecx, 2
call fcn.1400209ae
lea rcx, [0x1414f60a0]
call fcn.140019aa5
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rsp + 0xf0]
call fcn.140015e8a
mov rcx, qword [rsp + 0x90]
mov rdx, rbp
call fcn.140015e8a
mov rcx, qword [rsp + 0x268]
mov rdx, qword [rsp + 0x270]
call fcn.140015e8a
mov rcx, qword [rsp + 0x1e8]
mov rdx, qword [rsp + 0x98]
call fcn.140015e8a
cmp byte [rsp + 0x10c], 0
mov rdx, qword [rsp + 0x78]
jne 0x14001da64
jmp 0x14001fb0b
call fcn.1400168d2
mov rcx, qword [rsp + 0x88]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
cmp qword [rsp + 0x1e0], 0
mov r12, r14
je 0x14001fa32
mov rcx, r15
mov rdx, qword [rsp + 0x288]
call fcn.14002097a
jmp 0x14001fa32
call fcn.1400168d2
mov rsi, rax
jmp 0x14001fa01
call fcn.1400168d2
mov rsi, rax
mov r13, qword [rsp + 0x288]
mov rcx, r15
mov rdx, r13
call fcn.14002097a
mov r13, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
mov r12, r14
mov rsi, qword [rsp + 0x290]
mov rcx, rsi
call sub.kernel32.dll_CloseHandle
mov r15, qword [rsp + 0x98]
mov esi, dword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov rcx, rbx
call sub.kernel32.dll_CloseHandle
mov rbx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xf8]
call sub.kernel32.dll_CloseHandle
mov ecx, 2
call fcn.1400209ae
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
call fcn.1400209bc
mov rcx, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xb8]
call fcn.1400209bc
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
call fcn.1400209bc
lea rcx, [0x1414f60a0]
call fcn.140019aa5
mov rcx, rdi
mov rdx, qword [rsp + 0xf0]
call fcn.140015e8a
mov rcx, rbx
mov rdx, rbp
call fcn.140015e8a
mov rcx, qword [rsp + 0x268]
mov rdx, qword [rsp + 0x270]
call fcn.140015e8a
mov rcx, qword [rsp + 0x1e8]
mov rdx, r15
call fcn.140015e8a
test sil, sil
mov rdx, qword [rsp + 0x78]
je 0x14001da64
mov rcx, r13
call fcn.140015e8a
jmp 0x14001da64
lea rsi, [rsp + 0xa0]
mov rcx, rsi
mov dx, 0x22
call fcn.14001a769
mov rax, qword [rsi]
mov rdi, qword [rsi + 8]
movabs rcx, 0x8000000000000000
cmp rax, rcx
je 0x14001f5c9
mov rdx, qword [rsp + 0xb0]
mov cl, 1
mov dword [rsp + 0x70], ecx
mov dword [rsp + 0x10c], 0
mov rsi, qword [rsp + 0x58]
mov r13, qword [rsp + 0x80]
mov r15, qword [rsp + 0x98]
jmp 0x14001e40b
mov rdi, rax
jmp 0x14001f5b4
call fcn.1400168d2
ud2