Function at 0x1401b9290
Capabilities:
Encode data using xor
Read file on windows

Disassembly:
push rbp
push rsi
push r12
push r14
push r15
lea rbp, [rsp - 0x18f0]
mov eax, 0x19f0
call fcn.1402b2640
sub rsp, rax
mov rax, qword [0x1411d99d8]
xor rax, rsp
mov qword [rbp + 0x18d0], rax
xor eax, eax
mov qword [rbp - 0x80], rdx
mov qword [rdx], rax
xor esi, esi
mov r14d, 1
mov r15, rdx
mov qword [rsp + 0x60], r14
lea r12d, [rax - 2]
mov rax, qword [0x1411dcc50]
test rax, rax
je 0x1401b9301
movzx eax, byte [rax + 0xb]
cmp al, 0x12
je 0x1401b92f9
mov qword [rsp + 0x60], r14
cmp al, 0x13
jne 0x1401b9301
mov r14d, esi
mov qword [rsp + 0x60], rsi
movzx r10d, byte [0x1411e9d72]
mov qword [rsp + 0x1a30], rbx
mov qword [rsp + 0x19e8], rdi
mov qword [rsp + 0x19e0], r13
cmp r10b, 6
je 0x1401b99a3
cmp dword [0x1411ec734], esi
je 0x1401b933f
test r14d, r14d
je 0x1401b933f
sub rcx, qword [0x1411ec818]
mov r9d, dword [0x1411e9d84]
mov rax, rcx
mov ebx, dword [0x1411e9d88]
cqo
idiv r9
mov r8, rax
inc rax
cqo
idiv rbx
mov r11, rdx
cmp r10b, 5
jne 0x1401b9384
mov eax, dword [0x1411e9d78]
imul r8, r9
dec eax
movsxd rcx, eax
mov rax, r8
cqo
idiv rcx
mov r13, rax
jmp 0x1401b93a8
test r10b, r10b
jne 0x1401b93a1
movsxd rcx, dword [0x1411e9d78]
imul r8, r9
mov rax, r8
cqo
idiv rcx
mov r13, rax
jmp 0x1401b93a8
mov r13, qword [rbp + 0x13e0]
mov rax, r13
cqo
idiv r9
test rdx, rdx
je 0x1401b93c0
mov rax, r13
cqo
idiv r9
sub r13, rdx
test r11d, r11d
lea rdx, [rbp + 0x13e0]
xorps xmm0, xmm0
mov r8d, 0xa
cmove r11d, ebx
mov ecx, r11d
movups xmmword [rbp + 0x13e0], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov rdi, qword [0x1411ec6a8]
movabs rbx, 0xf83e0f83e0f83e1
mov r11, qword [0x1411ec6a0]
mov rcx, rdi
sub rcx, r11
mov rax, rbx
imul rcx
mov r10d, esi
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401b948a
mov r9, rsi
imul rax, r9, 0x210
lea rcx, [r11 + 4]
add rcx, rax
lea r8, [rbp + 0x13e0]
sub r8, rcx
nop dword [rax]
movzx edx, word [rcx]
movzx eax, word [rcx + r8]
sub edx, eax
jne 0x1401b9454
add rcx, 2
test eax, eax
jne 0x1401b9440
test edx, edx
je 0x1401b947f
inc r10d
mov rcx, rdi
sub rcx, r11
movsxd r9, r10d
mov rax, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jb 0x1401b9421
jmp 0x1401b948a
imul rax, r9, 0x210
mov r12d, dword [rax + r11]
mov ebx, dword [0x1411e9d78]
mov rdi, rsi
mov eax, esi
test ebx, ebx
jle 0x1401b94c6
lea rcx, [0x1411e9d8c]
cmp dword [rcx], r12d
je 0x1401b94b1
inc eax
add rcx, 0x14
cmp eax, ebx
jl 0x1401b94a0
jmp 0x1401b94c6
cdqe
lea rcx, [rax + rax*4]
lea rax, [0x140000000]
mov rdi, qword [rax + rcx*4 + 0x11e9d90]
cmp r12d, 0xffffffff
je 0x1401b9690
cmp dword [0x1411ec734], esi
mov rbx, rsi
mov dword [rsp + 0x40], esi
je 0x1401b9552
test r14d, r14d
je 0x1401b9552
mov rdx, qword [0x1411ec7b8]
cmp rdx, qword [0x1411ec7c0]
je 0x1401b9552
movsxd rax, dword [0x1411ec7f4]
mov r8d, esi
imul rcx, rax, 0x41
movabs rax, 0x4924924924924925
mov r9, qword [rcx + rdx + 0x18]
mov rdx, qword [rcx + rdx + 0x20]
sub rdx, r9
imul rdx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401b9552
mov rcx, r9
nop
cmp r12d, dword [rcx]
je 0x1401b9546
inc r8d
add rcx, 0x1c
movsxd rax, r8d
cmp rax, rdx
jb 0x1401b9530
jmp 0x1401b9552
movsxd rax, r8d
imul rcx, rax, 0x1c
mov rbx, qword [rcx + r9 + 4]
xorps xmm0, xmm0
lea rdx, [rbp + 0x1470]
xor eax, eax
mov ecx, r12d
movups xmmword [rbp + 0x1414], xmm0
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1424], xmm0
lea r8d, [rax + 0xa]
mov dword [rbp + 0x146c], eax
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x1470], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401b95d5
lea r8, [rbp + 0x1470]
xor edx, edx
nop dword [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401b95f0
add rbx, rdi
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add rbx, r13
mov dword [rsp + 0x28], esi
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea rcx, [rbp + 0x13f0]
shl rbx, 9
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1401b967c
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov r8d, dword [0x1411e9d7c]
lea r9, [rsp + 0x40]
mov rdx, r15
mov qword [rsp + 0x20], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1401bb838
mov rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x1401bb83d
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x1450
call sub.VCRUNTIME140.dll_memset
test ebx, ebx
jle 0x1401b96d2
lea rdx, [rbp - 0x6c]
mov r8, rbx
lea rcx, [0x1411e9d90]
mov eax, dword [rcx - 4]
cmp eax, 0xffffffff
je 0x1401b96c8
mov dword [rdx - 4], eax
mov rax, qword [rcx]
mov qword [rdx], rax
add rdx, 0x14
add rcx, 0x14
sub r8, 1
jne 0x1401b96b3
lea eax, [rbx - 1]
mov rbx, 0xffffffffffffffff
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
mov edx, dword [0x1411e9d78]
mov r14, rax
mov qword [rsp + 0x68], rax
mov edi, esi
lea ecx, [rdx - 1]
test ecx, ecx
jle 0x1401b9743
mov rbx, rax
nop dword [rax]
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov qword [rbx], rax
xor edx, edx
mov r8, qword [0x1411e9d7c]
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov edx, dword [0x1411e9d78]
lea rbx, [rbx + 8]
inc edi
lea eax, [rdx - 1]
cmp edi, eax
jl 0x1401b9710
lea eax, [rdx - 1]
mov r15d, esi
test eax, eax
jle 0x1401b9946
mov r12, r14
movabs rdi, 0x4924924924924925
lea r14, [rbp - 0x6c]
mov ebx, dword [r14 - 4]
lea rdx, [rbp + 0x1470]
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
mov ecx, ebx
mov r8d, 0xa
movups xmmword [rbp + 0x13f0], xmm0
movups xmmword [rbp + 0x1400], xmm0
movups xmmword [rbp + 0x1410], xmm0
movups xmmword [rbp + 0x1420], xmm0
movups xmmword [rbp + 0x1430], xmm0
movups xmmword [rbp + 0x1440], xmm0
movups xmmword [rbp + 0x1450], xmm0
movups xmmword [rbp + 0x1460], xmm0
movups xmmword [rbp + 0x1470], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401b97f4
lea r8, [rbp + 0x1470]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401b9810
cmp dword [0x1411ec734], esi
mov r11, rsi
je 0x1401b98a1
cmp qword [rsp + 0x60], rsi
je 0x1401b98a1
mov rdx, qword [0x1411ec7b8]
cmp rdx, qword [0x1411ec7c0]
je 0x1401b98a1
movsxd rax, dword [0x1411ec7f4]
mov r8d, esi
imul rcx, rax, 0x41
mov rax, rdi
mov r9, rsi
mov r10, qword [rcx + rdx + 0x18]
mov rcx, qword [rcx + rdx + 0x20]
sub rcx, r10
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401b98a1
mov rcx, r10
nop dword [rax + rax]
cmp ebx, dword [rcx]
je 0x1401b9898
inc r8d
inc r9
movsxd rax, r8d
add rcx, 0x1c
cmp rax, rdx
jb 0x1401b9880
jmp 0x1401b98a1
imul rax, r9, 0x1c
mov r11, qword [rax + r10 + 4]
mov rbx, qword [r14]
lea rcx, [rbp + 0x13f0]
add rbx, r11
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov dword [rsp + 0x28], esi
add rbx, r13
mov dword [rsp + 0x20], 3
mov edx, 0xc0000000
shl rbx, 9
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1401b9911
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov r8d, dword [0x1411e9d7c]
lea r9, [rsp + 0x40]
mov rdx, qword [r12]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x1411e9d78]
inc r15d
add r14, 0x14
add r12, 8
movabs rdi, 0x4924924924924925
lea eax, [rdx - 1]
cmp r15d, eax
jl 0x1401b9762
mov r14, qword [rsp + 0x68]
mov r9d, dword [0x1411e9d7c]
dec edx
mov r8, qword [rbp - 0x80]
mov rcx, r14
call fcn.1401c1200
mov ecx, dword [0x1411e9d78]
mov edi, eax
dec ecx
test ecx, ecx
jle 0x1401b998f
mov rbx, r14
nop dword [rax]
mov rcx, qword [rbx]
mov edx, 1
call fcn.1402b2268
mov eax, dword [0x1411e9d78]
lea rbx, [rbx + 8]
inc esi
dec eax
cmp esi, eax
jl 0x1401b9970
mov edx, 8
mov rcx, r14
call fcn.1402b2268
mov eax, edi
jmp 0x1401bb83d
mov r10d, dword [0x1411e9d84]
mov rax, rcx
mov r11d, dword [0x1411e9d88]
cqo
mov ecx, dword [0x1411e9d78]
idiv r10
add ecx, r12d
mov r9, rax
movsxd r8, ecx
inc rax
cqo
idiv r11
imul r9, r10
mov r14, rdx
mov rax, r9
cqo
idiv r8
mov r13, rax
mov qword [rsp + 0x78], rax
cqo
idiv r10
test rdx, rdx
je 0x1401b9a01
mov rax, r13
cqo
idiv r10
sub r13, rdx
mov qword [rsp + 0x78], r13
xorps xmm0, xmm0
lea rdx, [rbp + 0x1490]
test r14d, r14d
mov r8d, 0xa
movups xmmword [rbp + 0x1490], xmm0
cmove r14d, r11d
mov ecx, r14d
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov rdi, qword [0x1411ec6a8]
movabs rbx, 0xf83e0f83e0f83e1
mov r11, qword [0x1411ec6a0]
mov rcx, rdi
sub rcx, r11
mov rax, rbx
imul rcx
mov r10d, esi
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x1401b9aca
mov r9, rsi
imul rax, r9, 0x210
lea rcx, [r11 + 4]
add rcx, rax
lea r8, [rbp + 0x1490]
sub r8, rcx
nop word [rax + rax]
movzx edx, word [rcx]
movzx eax, word [rcx + r8]
sub edx, eax
jne 0x1401b9a94
add rcx, 2
test eax, eax
jne 0x1401b9a80
test edx, edx
je 0x1401b9abf
inc r10d
mov rcx, rdi
sub rcx, r11
movsxd r9, r10d
mov rax, rbx
imul rcx
sar rdx, 5
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r9, rdx
jb 0x1401b9a62
jmp 0x1401b9aca
imul rax, r9, 0x210
mov r12d, dword [rax + r11]
mov edx, dword [0x1411e9d78]
lea r8, [0x140000000]
mov rbx, rsi
mov eax, esi
mov qword [rsp + 0x70], rbx
test edx, edx
jle 0x1401b9b14
lea rcx, [0x1411e9d8c]
nop dword [rax]
cmp r12d, dword [rcx]
je 0x1401b9b01
inc eax
add rcx, 0x14
cmp eax, edx
jl 0x1401b9af0
jmp 0x1401b9b14
cdqe
lea rcx, [rax + rax*4]
mov rbx, qword [r8 + rcx*4 + 0x11e9d90]
mov qword [rsp + 0x70], rbx
test r12d, r12d
js 0x1401b9bd7
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
xor eax, eax
lea rdx, [rbp + 0x13e0]
mov ecx, r12d
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1414], xmm0
mov dword [rbp + 0x146c], eax
lea r8d, [rax + 0xa]
movups xmmword [rbp + 0x1424], xmm0
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x13e0], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401b9ba4
lea r8, [rbp + 0x13e0]
xor edx, edx
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401b9bc0
jmp 0x1401b9605
xor edx, edx
lea rcx, [rbp - 0x70]
mov r8d, 0x1450
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x1411ec830]
cmp eax, 0xffffffff
jne 0x1401ba010
xor edx, edx
lea rcx, [rbp + 0x16c0]
mov r8d, 0x208
mov r12d, esi
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea rcx, [rbp + 0x15b4]
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
mov r8d, 0xa
lea rdx, [rbp + 0x16c0]
mov ecx, r14d
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov r14d, dword [0x1411ec834]
mov ebx, esi
mov r15, qword [0x1411ec6a0]
test r14d, r14d
jle 0x1401b9cd1
xor edx, edx
lea rcx, [rbp + 0x14b0]
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
movsxd r9, ebx
lea rcx, [r15 + 4]
imul rax, r9, 0x210
lea rdx, [rbp + 0x14b0]
add rcx, rax
sub rdx, rcx
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1401b9c80
lea rax, [rbp + 0x14b0]
lea r8, [rbp + 0x16c0]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1401b9cb5
add rax, 2
test ecx, ecx
jne 0x1401b9ca1
test edx, edx
je 0x1401b9cc2
inc ebx
cmp ebx, r14d
jl 0x1401b9c51
jmp 0x1401b9cd1
imul rax, r9, 0x210
mov r12d, dword [rax + r15 + 0x20c]
mov ebx, esi
test r14d, r14d
jle 0x1401b9d64
lea rdi, [r15 + 0x20c]
nop dword [rax]
nop word [rax + rax]
xor edx, edx
lea rcx, [rbp + 0x14b0]
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
movsxd r8, ebx
lea rcx, [r15 + 4]
imul rax, r8, 0x210
lea rdx, [rbp + 0x14b0]
add rcx, rax
sub rdx, rcx
nop
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1401b9d20
cmp dword [rdi], r12d
jne 0x1401b9d56
cmp word [rbp + 0x14b0], 0x52
jne 0x1401b9d56
cmp word [rbp + 0x14b2], 0x53
jne 0x1401b9d56
cmp word [rbp + 0x14b4], si
je 0x1401ba000
inc ebx
add rdi, 0x210
cmp ebx, r14d
jl 0x1401b9cf0
mov r9d, dword [rsp + 0x40]
mov r10d, dword [0x1411e9d78]
test r10d, r10d
jle 0x1401b9da7
lea rdx, [rbp - 0x6c]
mov r8d, r10d
lea rcx, [0x1411e9d90]
mov eax, dword [rcx - 4]
cmp eax, 0xffffffff
je 0x1401b9d9d
cmp eax, r9d
je 0x1401b9d9d
mov dword [rdx - 4], eax
mov rax, qword [rcx]
mov qword [rdx], rax
add rdx, 0x14
add rcx, 0x14
sub r8, 1
jne 0x1401b9d83
lea eax, [r10 - 2]
mov rbx, 0xffffffffffffffff
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
mov edx, dword [0x1411e9d78]
mov edi, esi
mov qword [0x1411eea00], rax
lea eax, [rdx - 2]
test eax, eax
jle 0x1401b9e1d
mov rbx, rsi
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eea00]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [0x1411e9d78]
lea rbx, [rbx + 8]
inc edi
lea eax, [rdx - 2]
cmp edi, eax
jl 0x1401b9de2
lea eax, [rdx - 2]
mov r15d, esi
test eax, eax
jle 0x1401b9f8c
mov r12, rsi
lea r14, [rbp - 0x6c]
mov ecx, dword [r14 - 4]
lea rdx, [rbp + 0x13e0]
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
xor eax, eax
movups xmmword [rbp + 0x1414], xmm0
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1424], xmm0
lea r8d, [rax + 0xa]
mov dword [rbp + 0x146c], eax
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x13e0], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
nop word [rax + rax]
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401b9ec0
lea r8, [rbp + 0x13e0]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401b9ee0
mov rbx, qword [r14]
lea rcx, [rbp + 0x13f0]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add rbx, r13
mov dword [rsp + 0x28], esi
mov edx, 0xc0000000
shl rbx, 9
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1401b9f66
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rdx, qword [0x1411eea00]
lea r9, [rsp + 0x40]
mov r8d, dword [0x1411e9d7c]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
mov rdx, qword [r12 + rdx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x1411e9d78]
inc r15d
add r14, 0x14
add r12, 8
lea eax, [rdx - 2]
cmp r15d, eax
jl 0x1401b9e32
mov r9d, dword [0x1411e9d7c]
add edx, 0xfffffffe
mov r8, qword [rbp - 0x80]
mov rcx, qword [0x1411eea00]
call fcn.1401c1200
mov ecx, dword [0x1411e9d78]
mov edi, eax
add ecx, 0xfffffffe
test ecx, ecx
jle 0x1401b9fe8
mov rbx, rsi
nop dword [rax + rax]
mov rcx, qword [0x1411eea00]
mov edx, 1
mov rcx, qword [rbx + rcx]
call fcn.1402b2268
mov eax, dword [0x1411e9d78]
lea rbx, [rbx + 8]
add eax, 0xfffffffe
inc esi
cmp esi, eax
jl 0x1401b9fc0
mov rcx, qword [0x1411eea00]
mov edx, 8
call fcn.1402b2268
mov eax, edi
jmp 0x1401bb83d
imul rax, r8, 0x210
mov r9d, dword [rax + r15]
jmp 0x1401b9d69
cmp eax, 0xfffffffe
jne 0x1401bb83d
xorps xmm0, xmm0
lea rcx, [rbp + 0x14b0]
xor edx, edx
mov r8d, 0x208
movups xmmword [rbp + 0x14a0], xmm0
mov r13d, esi
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
xor edx, edx
mov qword [0x1411eeb30], rax
mov r8d, 0x400
lea rcx, [0x1411ee1b0]
call sub.VCRUNTIME140.dll_memset
xor edx, edx
lea rcx, [0x1411ee5b0]
mov r8d, 0x400
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
mov dword [0x1411ee9b4], esi
mov r8d, 0xa
mov dword [0x1411edd94], esi
lea rdx, [0x1411ee9c0]
mov dword [0x1411edd98], esi
mov ecx, r14d
mov dword [0x1411ee9b0], r14d
movups xmmword [0x1411ee9c0], xmm0
movups xmmword [0x1411ee9d0], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
mov r8d, 0xa
lea rdx, [rbp + 0x14a0]
mov ecx, r14d
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
cmp dword [0x1411ec834], esi
mov ebx, esi
mov r15, qword [0x1411ec6a0]
jle 0x1401ba164
xor edx, edx
lea rcx, [rbp + 0x14b0]
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
movsxd r9, ebx
lea rcx, [r15 + 4]
imul rax, r9, 0x210
lea rdx, [rbp + 0x14b0]
add rcx, rax
sub rdx, rcx
nop
movzx eax, word [rcx]
mov word [rcx + rdx], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1401ba110
lea rax, [rbp + 0x14b0]
lea r8, [rbp + 0x14a0]
sub r8, rax
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1401ba145
add rax, 2
test ecx, ecx
jne 0x1401ba131
test edx, edx
je 0x1401ba155
inc ebx
cmp ebx, dword [0x1411ec834]
jl 0x1401ba0e0
jmp 0x1401ba164
imul rax, r9, 0x210
mov r13d, dword [rax + r15 + 0x20c]
cmp dword [0x1411ec834], esi
mov r14d, esi
jle 0x1401ba395
mov ebx, dword [rsp + 0x40]
mov rdi, rsi
mov r9d, dword [rsp + 0x40]
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x4c], r9d
nop dword [rax + rax]
mov ebx, dword [rdi + r15 + 0x20c]
lea rcx, [rbp + 0x14b0]
xor edx, edx
mov r8d, 0x104
call sub.VCRUNTIME140.dll_memset
movsxd rax, r14d
lea rcx, [rbp + 0x14b0]
imul rdx, rax, 0x210
add rdx, 4
add rdx, r15
sub rcx, rdx
nop word [rax + rax]
movzx eax, word [rdx]
mov word [rdx + rcx], ax
lea rdx, [rdx + 2]
test ax, ax
jne 0x1401ba1d0
cmp ebx, r13d
jne 0x1401ba373
movzx r10d, word [rbp + 0x14b0]
movzx r11d, word [rbp + 0x14b4]
mov ecx, r10d
movzx r9d, word [rbp + 0x14b2]
sub ecx, 0x52
jne 0x1401ba219
mov ecx, r9d
sub ecx, 0x53
jne 0x1401ba219
mov ecx, r11d
movzx eax, si
sub ecx, eax
test ecx, ecx
jne 0x1401ba225
mov ebx, dword [rdi + r15]
mov dword [rsp + 0x58], ebx
mov edx, r10d
sub edx, 0x50
jne 0x1401ba235
mov edx, r9d
movzx eax, si
sub edx, eax
test edx, edx
jne 0x1401ba241
mov eax, dword [rdi + r15]
mov dword [rsp + 0x4c], eax
test ecx, ecx
je 0x1401ba2c4
test edx, edx
je 0x1401ba2c4
lea rax, [rbp + 0x14b0]
lea r8, [0x1411ee9c0]
sub r8, rax
nop
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1401ba274
add rax, 2
test ecx, ecx
jne 0x1401ba260
test edx, edx
je 0x1401ba2c4
cmp dword [rdi + r15], esi
jle 0x1401ba2c4
lea rcx, [rbp + 0x14b0]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
movsxd rdx, dword [0x1411edd94]
lea r8, [0x1411ee1b0]
mov r15, qword [0x1411ec6a0]
movzx r11d, word [rbp + 0x14b4]
movzx r9d, word [rbp + 0x14b2]
movzx r10d, word [rbp + 0x14b0]
mov dword [r8 + rdx*4], eax
inc edx
mov dword [0x1411edd94], edx
cmp r10w, 0x52
jne 0x1401ba2d8
cmp r9w, 0x53
jne 0x1401ba2d8
test r11w, r11w
je 0x1401ba32b
cmp r10w, 0x50
jne 0x1401ba2e5
test r9w, r9w
je 0x1401ba32b
lea rcx, [rbp + 0x14b0]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
movsxd rdx, dword [0x1411edd98]
lea r8, [0x1411ee5b0]
mov r15, qword [0x1411ec6a0]
movzx r11d, word [rbp + 0x14b4]
movzx r9d, word [rbp + 0x14b2]
movzx r10d, word [rbp + 0x14b0]
mov dword [r8 + rdx*4], eax
inc edx
mov dword [0x1411edd98], edx
cmp r10w, 0x52
jne 0x1401ba33f
cmp r9w, 0x53
jne 0x1401ba33f
test r11w, r11w
je 0x1401ba373
cmp r10w, 0x50
jne 0x1401ba34c
test r9w, r9w
je 0x1401ba373
mov eax, dword [rdi + r15]
cmp eax, r12d
je 0x1401ba373
test eax, eax
jns 0x1401ba373
lea rcx, [rbp + 0x14b0]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__wtoi]
mov r15, qword [0x1411ec6a0]
mov dword [0x1411ee9b4], eax
inc r14d
add rdi, 0x210
cmp r14d, dword [0x1411ec834]
jl 0x1401ba190
mov eax, dword [rsp + 0x4c]
mov r10d, dword [rsp + 0x58]
jmp 0x1401ba3a7
mov r10d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x40]
mov dword [rsp + 0x58], r10d
mov dword [rsp + 0x4c], eax
test r10d, r10d
jns 0x1401ba671
mov r9d, dword [0x1411e9d78]
mov dword [0x1411ee9b8], esi
test r9d, r9d
jle 0x1401ba3f4
lea rdx, [rbp - 0x6c]
mov r8d, r9d
lea rcx, [0x1411e9d90]
mov eax, dword [rcx - 4]
cmp eax, r12d
je 0x1401ba3ea
cmp eax, r10d
je 0x1401ba3ea
mov dword [rdx - 4], eax
mov rax, qword [rcx]
mov qword [rdx], rax
add rdx, 0x14
add rcx, 0x14
sub r8, 1
jne 0x1401ba3d0
lea eax, [r9 - 2]
mov rbx, 0xffffffffffffffff
movsxd rcx, eax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
mov edx, dword [0x1411e9d78]
mov edi, esi
mov qword [0x1411eea00], rax
lea eax, [rdx - 2]
test eax, eax
jle 0x1401ba46b
mov rbx, rsi
nop
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eea00]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [0x1411e9d78]
lea rbx, [rbx + 8]
inc edi
lea eax, [rdx - 2]
cmp edi, eax
jl 0x1401ba430
lea eax, [rdx - 2]
mov r15d, esi
test eax, eax
jle 0x1401ba5ec
mov r13, qword [rsp + 0x78]
lea r14, [rbp - 0x6c]
mov r12, rsi
nop word [rax + rax]
mov ecx, dword [r14 - 4]
lea rdx, [rbp + 0x13e0]
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
xor eax, eax
movups xmmword [rbp + 0x1414], xmm0
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1424], xmm0
lea r8d, [rax + 0xa]
mov dword [rbp + 0x146c], eax
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x13e0], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
nop dword [rax + rax]
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401ba520
lea r8, [rbp + 0x13e0]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401ba540
mov rbx, qword [r14]
lea rcx, [rbp + 0x13f0]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add rbx, r13
mov dword [rsp + 0x28], esi
mov edx, 0xc0000000
shl rbx, 9
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x1401ba5c6
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov rdx, qword [0x1411eea00]
lea r9, [rsp + 0x40]
mov r8d, dword [0x1411e9d7c]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
mov rdx, qword [r12 + rdx]
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [0x1411e9d78]
inc r15d
add r14, 0x14
add r12, 8
lea eax, [rdx - 2]
cmp r15d, eax
jl 0x1401ba490
mov r9d, dword [0x1411e9d7c]
add edx, 0xfffffffe
mov r8, qword [rbp - 0x80]
mov rcx, qword [0x1411eea00]
call fcn.1401c1200
mov ecx, dword [0x1411e9d78]
mov edi, eax
add ecx, 0xfffffffe
test ecx, ecx
jle 0x1401ba648
mov rbx, rsi
nop dword [rax + rax]
mov rcx, qword [0x1411eea00]
mov edx, 1
mov rcx, qword [rbx + rcx]
call fcn.1402b2268
mov eax, dword [0x1411e9d78]
lea rbx, [rbx + 8]
add eax, 0xfffffffe
inc esi
cmp esi, eax
jl 0x1401ba620
mov rcx, qword [0x1411eea00]
mov edx, 8
call fcn.1402b2268
mov rcx, qword [0x1411eeb30]
mov edx, 1
call fcn.1402b2268
mov eax, edi
jmp 0x1401bb83d
lea r13, [0x1411eea10]
xor edx, edx
mov qword [rsp + 0x60], r13
mov r8d, 0x100
mov rcx, r13
test eax, eax
jns 0x1401bad14
mov dword [0x1411ee9b8], esi
mov dword [rsp + 0x40], esi
call sub.VCRUNTIME140.dll_memset
mov rcx, r13
call fcn.1401be520
movsxd rcx, dword [0x1411edd94]
mov eax, 8
mul rcx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
movsxd rcx, dword [0x1411edd94]
mov qword [0x1411eeb10], rax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
cmp dword [0x1411edd94], esi
mov edi, esi
mov qword [0x1411eeb18], rax
jle 0x1401ba75e
mov rbx, rsi
nop
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb10]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb18]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
inc edi
lea rbx, [rbx + 8]
cmp edi, dword [0x1411edd94]
jl 0x1401ba700
mov rdx, qword [rsp + 0x78]
xor r8d, r8d
mov rcx, qword [0x1411eeb10]
call fcn.1401bdfe0
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
cmp dword [0x1411edd94], esi
mov r14, rax
mov qword [rbp + 0x1470], rax
mov dword [rsp + 0x4c], esi
jle 0x1401ba8c0
mov r12, rsi
mov qword [rsp + 0x68], rsi
mov rcx, qword [0x1411eeb10]
mov rbx, rsi
mov rdi, qword [0x1411e9d7c]
movzx eax, byte [r13]
mov r15, qword [r12 + rcx]
test rdi, rdi
jle 0x1401ba883
movzx r13d, al
lea r12, [0x140000000]
nop
movzx eax, byte [rbx + r15]
test al, al
je 0x1401ba857
cmp rbx, 0xe76e
jne 0x1401ba7f2
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [rbx + r15]
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x44], esi
mov byte [rsp + 0x44], al
mov byte [rsp + 0x50], r13b
movsxd rax, dword [rsp + 0x50]
mov dword [rsp + 0x50], esi
movzx edx, byte [rax + r12 + 0x11edfb0]
movsxd rax, dword [rsp + 0x44]
mov dword [rsp + 0x44], esi
mov byte [rsp + 0x50], dl
movzx ecx, byte [rax + r12 + 0x11edfb0]
mov byte [rsp + 0x44], cl
mov edx, dword [rsp + 0x44]
add edx, dword [rsp + 0x50]
cmp edx, 0xff
lea eax, [rdx - 0xff]
cmovle eax, edx
cdqe
movzx eax, byte [rax + r12 + 0x11ee0b0]
mov byte [r14 + rbx], al
jmp 0x1401ba85b
mov byte [r14 + rbx], sil
mov rax, qword [0x1411eeb30]
mov byte [rbx + rax], sil
inc rbx
cmp rbx, rdi
jl 0x1401ba7d0
mov rdi, qword [0x1411e9d7c]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
mov rcx, qword [0x1411eeb18]
mov r8, rdi
mov rdx, r14
mov rcx, qword [r12 + rcx]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x4c]
inc r13
inc eax
mov qword [rsp + 0x60], r13
add r12, 8
mov dword [rsp + 0x4c], eax
cmp eax, dword [0x1411edd94]
mov qword [rsp + 0x68], r12
jl 0x1401ba7a0
mov rcx, qword [0x1411e9d7c]
mov edx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov r12, rax
mov qword [rsp + 0x60], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov r15, rax
mov qword [rsp + 0x68], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r9d, dword [0x1411e9d7c]
mov r8, r12
mov edx, dword [0x1411edd94]
mov r13, rax
mov rcx, qword [0x1411eeb18]
call fcn.1401c1200
test eax, eax
je 0x1401bac28
mov edx, dword [0x1411e9d78]
mov ecx, esi
mov ebx, dword [rsp + 0x58]
test edx, edx
jle 0x1401ba956
lea rax, [0x1411e9d8c]
cmp ebx, dword [rax]
je 0x1401babe3
inc ecx
add rax, 0x14
cmp ecx, edx
jl 0x1401ba944
mov rdi, qword [rsp + 0x70]
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
xor eax, eax
lea rdx, [rbp + 0x13e0]
mov ecx, ebx
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1414], xmm0
mov dword [rbp + 0x146c], eax
lea r8d, [rax + 0xa]
movups xmmword [rbp + 0x1424], xmm0
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x13e0], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401ba9e1
lea r8, [rbp + 0x13e0]
xor edx, edx
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401baa00
mov rbx, qword [rsp + 0x78]
lea rcx, [rbp + 0x13f0]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add rbx, rdi
mov dword [rsp + 0x28], esi
mov edx, 0xc0000000
shl rbx, 9
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov rdx, rbx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov r8d, dword [0x1411e9d7c]
lea r9, [rsp + 0x40]
mov rdx, r15
mov qword [rsp + 0x20], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, 0x10
call fcn.1402b2a70
mov qword [0x1411eeb20], rax
mov rbx, rsi
nop
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb20]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
add rbx, 8
cmp rbx, 0x10
jl 0x1401baa90
mov rcx, qword [0x1411eeb20]
mov rdx, r15
mov r8, qword [0x1411e9d7c]
mov rcx, qword [rcx]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1411eeb20]
mov rdx, r12
mov r8, qword [0x1411e9d7c]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov r15, qword [0x1411e9d7c]
mov rdx, qword [0x1411eeb20]
mov r11d, r15d
test r15d, r15d
je 0x1401bab34
mov r9, rsi
mov r10d, r11d
mov rax, qword [rdx + 8]
lea r9, [r9 + 1]
mov r8, qword [rdx]
movzx ecx, byte [r9 + rax - 1]
xor byte [r8 + r9 - 1], cl
sub r10, 1
jne 0x1401bab11
mov r15, qword [0x1411e9d7c]
mov rdx, qword [rdx]
mov r8, r11
mov rcx, r13
call sub.VCRUNTIME140.dll_memcpy
movzx r12d, byte [0x1411eea08]
mov rbx, rsi
test r15, r15
jle 0x1401bac16
mov rax, qword [rbp - 0x80]
lea r14, [0x140000000]
movzx edi, byte [rbx + r13]
test dil, dil
je 0x1401babfe
cmp rbx, 0xe76e
jne 0x1401bab83
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x50], esi
mov byte [rsp + 0x44], dil
movsxd rax, dword [rsp + 0x44]
mov byte [rsp + 0x50], r12b
mov dword [rsp + 0x44], esi
movzx edx, byte [rax + r14 + 0x11edfb0]
movsxd rax, dword [rsp + 0x50]
mov dword [rsp + 0x50], esi
mov byte [rsp + 0x44], dl
movzx ecx, byte [rax + r14 + 0x11edfb0]
mov byte [rsp + 0x50], cl
mov ecx, dword [rsp + 0x44]
sub ecx, dword [rsp + 0x50]
lea eax, [rcx + 0xff]
cmovns eax, ecx
cdqe
movzx ecx, byte [rax + r14 + 0x11ee0b0]
mov rax, qword [rbp - 0x80]
jmp 0x1401bac00
movsxd rax, ecx
lea rcx, [rax + rax*4]
lea rax, [0x140000000]
mov rdi, qword [rax + rcx*4 + 0x11e9d90]
jmp 0x1401ba95b
xor cl, cl
mov byte [rax + rbx], cl
inc rbx
cmp rbx, r15
jl 0x1401bab61
mov r14, qword [rbp + 0x1470]
mov r15, qword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov dword [rsp + 0x40], 1
cmp dword [0x1411edd94], esi
mov edi, esi
jle 0x1401bac80
mov rbx, rsi
nop word [rax + rax]
mov rcx, qword [0x1411eeb10]
mov edx, 1
mov rcx, qword [rbx + rcx]
call fcn.1402b2268
mov rcx, qword [0x1411eeb18]
mov edx, 1
mov rcx, qword [rbx + rcx]
call fcn.1402b2268
inc edi
lea rbx, [rbx + 8]
cmp edi, dword [0x1411edd94]
jl 0x1401bac40
nop dword [rax + rax]
mov rcx, qword [0x1411eeb20]
mov edx, 1
mov rcx, qword [rsi + rcx]
call fcn.1402b2268
add rsi, 8
cmp rsi, 0x10
jl 0x1401bac80
mov rcx, qword [0x1411eeb20]
mov edx, 8
call fcn.1402b2268
mov rcx, qword [0x1411eeb10]
mov edx, 8
call fcn.1402b2268
mov rcx, qword [0x1411eeb18]
mov edx, 8
call fcn.1402b2268
mov edx, 1
mov rcx, r14
call fcn.1402b2268
mov rcx, r12
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1411eeb30]
mov edx, 1
call fcn.1402b2268
mov eax, dword [rsp + 0x40]
jmp 0x1401bb83d
mov dword [0x1411ee9b8], 1
call sub.VCRUNTIME140.dll_memset
mov rcx, r13
call fcn.1401be520
movsxd rcx, dword [0x1411edd94]
mov eax, 8
mul rcx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
movsxd rcx, dword [0x1411edd94]
mov qword [0x1411eeb10], rax
mov eax, 8
mul rcx
cmovo rax, rbx
mov rcx, rax
call fcn.1402b2a70
cmp dword [0x1411edd94], esi
mov edi, esi
mov qword [0x1411eeb18], rax
jle 0x1401bade1
mov rbx, rsi
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb10]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb18]
xor edx, edx
mov qword [rbx + rcx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
inc edi
lea rbx, [rbx + 8]
cmp edi, dword [0x1411edd94]
jl 0x1401bad83
mov rdi, qword [rsp + 0x78]
xor r8d, r8d
mov rcx, qword [0x1411eeb10]
mov rdx, rdi
call fcn.1401bdfe0
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
cmp dword [0x1411edd94], esi
mov r12, rax
mov qword [rbp + 0x1470], rax
mov dword [rsp + 0x40], esi
jle 0x1401baf59
mov r15, rsi
mov qword [rsp + 0x68], rsi
mov rcx, qword [0x1411eeb10]
mov rbx, rsi
mov rdi, qword [0x1411e9d7c]
movzx eax, byte [r13]
mov r14, qword [rcx + r15]
test rdi, rdi
jle 0x1401baf17
movzx r13d, al
lea r15, [0x140000000]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbx + r14]
test al, al
je 0x1401baeeb
cmp rbx, 0xe76e
jne 0x1401bae86
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [rbx + r14]
mov dword [rsp + 0x44], esi
mov dword [rsp + 0x50], esi
mov byte [rsp + 0x50], al
mov byte [rsp + 0x44], r13b
movsxd rax, dword [rsp + 0x44]
mov dword [rsp + 0x44], esi
movzx edx, byte [rax + r15 + 0x11edfb0]
movsxd rax, dword [rsp + 0x50]
mov dword [rsp + 0x50], esi
mov byte [rsp + 0x44], dl
movzx ecx, byte [rax + r15 + 0x11edfb0]
mov byte [rsp + 0x50], cl
mov edx, dword [rsp + 0x50]
add edx, dword [rsp + 0x44]
cmp edx, 0xff
lea eax, [rdx - 0xff]
cmovle eax, edx
cdqe
movzx eax, byte [rax + r15 + 0x11ee0b0]
mov byte [r12 + rbx], al
jmp 0x1401baeef
mov byte [r12 + rbx], sil
mov rax, qword [0x1411eeb30]
mov byte [rbx + rax], sil
inc rbx
cmp rbx, rdi
jl 0x1401bae60
mov rdi, qword [0x1411e9d7c]
mov r15, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
mov rcx, qword [0x1411eeb18]
mov r8, rdi
mov rdx, r12
mov rcx, qword [rcx + r15]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [rsp + 0x40]
inc r13
inc eax
mov qword [rsp + 0x60], r13
add r15, 8
mov dword [rsp + 0x40], eax
cmp eax, dword [0x1411edd94]
mov qword [rsp + 0x68], r15
jl 0x1401bae26
mov rdi, qword [rsp + 0x78]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov r13, rax
mov qword [rsp + 0x50], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov rbx, rax
mov qword [rsp + 0x68], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov qword [rsp + 0x60], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov r14, rax
mov qword [rbp + 0x13e0], rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov rcx, qword [0x1411e9d7c]
mov edx, 1
mov r15, rax
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r9d, dword [0x1411e9d7c]
mov r8, rbx
mov edx, dword [0x1411edd94]
mov rcx, qword [0x1411eeb10]
mov qword [0x1411eeb38], rax
call fcn.1401c1200
test eax, eax
je 0x1401bb2b0
mov edx, dword [0x1411e9d78]
mov eax, esi
mov r9d, dword [rsp + 0x4c]
test edx, edx
jle 0x1401bb043
lea rcx, [0x1411e9d8c]
nop word [rax + rax]
cmp r9d, dword [rcx]
je 0x1401bb538
inc eax
add rcx, 0x14
cmp eax, edx
jl 0x1401bb030
mov rbx, qword [rsp + 0x70]
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
xor eax, eax
lea rdx, [rbp + 0x1480]
mov ecx, r9d
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1414], xmm0
mov dword [rbp + 0x146c], eax
lea r8d, [rax + 0xa]
movups xmmword [rbp + 0x1424], xmm0
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x1480], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
nop
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401bb0d0
lea r8, [rbp + 0x1480]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401bb0f0
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add rbx, rdi
mov dword [rsp + 0x28], esi
mov edx, 0xc0000000
shl rbx, 9
lea rcx, [rbp + 0x13f0]
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov rdx, rbx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov r8d, dword [0x1411e9d7c]
lea r9, [rsp + 0x40]
mov rdx, qword [rsp + 0x60]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, 0x10
call fcn.1402b2a70
mov qword [0x1411eeb28], rax
mov rbx, rsi
nop dword [rax + rax]
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb28]
xor edx, edx
mov qword [rcx + rbx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
add rbx, 8
cmp rbx, 0x10
jl 0x1401bb180
mov rcx, qword [0x1411eeb28]
mov r8, qword [0x1411e9d7c]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rcx]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1411eeb28]
mov r8, qword [0x1411e9d7c]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [0x1411e9d7c]
xor edx, edx
mov r8, rdi
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [0x1411eeb28]
mov r11d, edi
test edi, edi
je 0x1401bb234
mov r9, rsi
mov r10d, r11d
mov rax, qword [rdx + 8]
lea r9, [r9 + 1]
mov r8, qword [rdx]
movzx ecx, byte [rax + r9 - 1]
xor byte [r8 + r9 - 1], cl
sub r10, 1
jne 0x1401bb211
mov rdi, qword [0x1411e9d7c]
mov rdx, qword [rdx]
mov r8, r11
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [0x1411ee9b0]
xor bl, bl
cmp edx, dword [0x1411ee9b4]
movzx eax, word [0x1411eea08]
movzx ecx, byte [0x1411eea09]
jge 0x1401bb269
movzx ebx, cl
mov byte [0x1411edd65], al
jle 0x1401bb274
movzx ebx, al
mov byte [0x1411edd65], cl
mov rcx, qword [0x1411eeb38]
mov r8, rdi
mov rdx, r15
call sub.VCRUNTIME140.dll_memcpy
mov r8, qword [0x1411e9d7c]
xor edx, edx
mov rcx, r12
call sub.VCRUNTIME140.dll_memset
mov r9d, 1
mov qword [rsp + 0x20], rsi
mov r8, r15
movzx edx, bl
mov rcx, r12
call fcn.1401be840
mov r9d, dword [0x1411e9d7c]
mov r8, r13
mov edx, dword [0x1411edd94]
mov rcx, qword [0x1411eeb18]
call fcn.1401c1200
test eax, eax
je 0x1401bb5a4
mov ecx, dword [0x1411e9d78]
mov eax, esi
mov ebx, dword [rsp + 0x58]
test ecx, ecx
jle 0x1401bb302
lea rdx, [0x1411e9d8c]
nop dword [rax + rax]
cmp ebx, dword [rdx]
je 0x1401bb557
inc eax
add rdx, 0x14
cmp eax, ecx
jl 0x1401bb2f0
mov rdi, qword [rsp + 0x70]
xorps xmm0, xmm0
mov dword [rsp + 0x40], esi
xor eax, eax
lea rdx, [rbp + 0x1480]
mov ecx, ebx
mov qword [rbp + 0x1464], rax
movups xmmword [rbp + 0x1414], xmm0
mov dword [rbp + 0x146c], eax
lea r8d, [rax + 0xa]
movups xmmword [rbp + 0x1424], xmm0
movups xmmword [rbp + 0x1434], xmm0
movups xmmword [rbp + 0x1444], xmm0
movups xmmword [rbp + 0x1454], xmm0
movups xmmword [rbp + 0x1480], xmm0
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__itow]
movups xmm0, xmmword [0x1403037b0]
mov eax, dword [0x1403037d0]
lea rcx, [rbp + 0x13f0]
movups xmm1, xmmword [0x1403037c0]
sub rcx, 2
mov dword [rbp + 0x1410], eax
movaps xmmword [rbp + 0x13f0], xmm0
movaps xmmword [rbp + 0x1400], xmm1
nop dword [rax]
cmp word [rcx + 2], si
lea rcx, [rcx + 2]
jne 0x1401bb390
lea r8, [rbp + 0x1480]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rdx*2]
mov word [rcx + rdx*2], ax
lea rdx, [rdx + 1]
test ax, ax
jne 0x1401bb3b0
mov rbx, qword [rsp + 0x78]
lea rcx, [rbp + 0x13f0]
xor r9d, r9d
mov qword [rsp + 0x30], rsi
add rbx, rdi
mov dword [rsp + 0x28], esi
mov edx, 0xc0000000
shl rbx, 9
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
mov rdx, rbx
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
mov r8d, dword [0x1411e9d7c]
lea r9, [rsp + 0x40]
mov rdx, r14
mov qword [rsp + 0x20], rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, 0x10
call fcn.1402b2a70
mov qword [0x1411eeb20], rax
mov rbx, rsi
nop
mov rcx, qword [0x1411e9d7c]
call fcn.1402b2a70
mov rcx, qword [0x1411eeb20]
xor edx, edx
mov qword [rcx + rbx], rax
mov rcx, rax
mov r8, qword [0x1411e9d7c]
call sub.VCRUNTIME140.dll_memset
add rbx, 8
cmp rbx, 0x10
jl 0x1401bb440
mov rcx, qword [0x1411eeb20]
mov rdx, r14
mov r8, qword [0x1411e9d7c]
mov rcx, qword [rcx]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1411eeb20]
mov rdx, r13
mov r8, qword [0x1411e9d7c]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [0x1411e9d7c]
xor edx, edx
mov r8, rdi
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [0x1411eeb20]
mov r11d, edi
test edi, edi
je 0x1401bb4f3
mov r9, rsi
mov r10d, r11d
nop dword [rax]
mov rax, qword [rdx + 8]
lea r9, [r9 + 1]
mov r8, qword [rdx]
movzx ecx, byte [rax + r9 - 1]
xor byte [r8 + r9 - 1], cl
sub r10, 1
jne 0x1401bb4d0
mov rdi, qword [0x1411e9d7c]
mov rdx, qword [rdx]
mov r8, r11
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
mov rbx, rsi
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [0x1411eeb20]
mov r8, rdi
xor edx, edx
mov rcx, qword [rcx + rbx]
call sub.VCRUNTIME140.dll_memset
add rbx, 8
cmp rbx, 0x10
jge 0x1401bb571
mov rdi, qword [0x1411e9d7c]
jmp 0x1401bb510
cdqe
lea rcx, [rax + rax*4]
lea rax, [0x140000000]
mov rbx, qword [rax + rcx*4 + 0x11e9d90]
mov qword [rsp + 0x70], rbx
jmp 0x1401bb048
cdqe
lea rcx, [rax + rax*4]
lea rax, [0x140000000]
mov rdi, qword [rax + rcx*4 + 0x11e9d90]
jmp 0x1401bb307
mov rcx, qword [0x1411eeb20]
mov rdx, r12
mov r8, qword [0x1411e9d7c]
mov rcx, qword [rcx]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x1411eeb20]
mov rdx, r15
mov r8, qword [0x1411e9d7c]
mov rcx, qword [rcx + 8]
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [0x1411e9d7c]
xor edx, edx
mov r8, rdi
mov rcx, r15
call sub.VCRUNTIME140.dll_memset
mov rdx, qword [0x1411eeb20]
mov r11d, edi
test edi, edi
je 0x1401bb5f3
mov r9, rsi
mov r10d, r11d
nop dword [rax]
mov rax, qword [rdx + 8]
lea r9, [r9 + 1]
mov r8, qword [rdx]
movzx ecx, byte [rax + r9 - 1]
xor byte [r8 + r9 - 1], cl
sub r10, 1
jne 0x1401bb5d0
mov rdi, qword [0x1411e9d7c]
mov rdx, qword [rdx]
mov r8, r11
mov rcx, r15
call sub.VCRUNTIME140.dll_memcpy
movzx r14d, byte [0x1411eea09]
mov rbx, rsi
xor r14b, byte [0x1411eea08]
test rdi, rdi
jle 0x1401bb708
mov r12, qword [rbp - 0x80]
lea r13, [0x140000000]
nop word [rax + rax]
movzx eax, byte [r15 + rbx]
test al, al
je 0x1401bb6d0
cmp rbx, 0xe76e
jne 0x1401bb656
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
movzx eax, byte [r15 + rbx]
mov dword [rsp + 0x4c], esi
mov byte [rsp + 0x4c], al
movsxd rax, dword [rsp + 0x4c]
mov dword [rsp + 0x44], esi
mov byte [rsp + 0x44], r14b
mov dword [rsp + 0x4c], esi
movzx edx, byte [rax + r13 + 0x11edfb0]
movsxd rax, dword [rsp + 0x44]
mov dword [rsp + 0x44], esi
mov byte [rsp + 0x4c], dl
movzx ecx, byte [rax + r13 + 0x11edfb0]
mov byte [rsp + 0x44], cl
mov ecx, dword [rsp + 0x4c]
sub ecx, dword [rsp + 0x44]
lea eax, [rcx + 0xff]
cmovns eax, ecx
cdqe
movzx edx, byte [rax + r13 + 0x11ee0b0]
mov rax, qword [0x1411eeb30]
cmp byte [rbx + rax], 1
jne 0x1401bb6cb
mov rax, qword [0x1411eeb38]
movzx ecx, byte [rax + rbx]
xor cl, dl
jmp 0x1401bb6ec
movzx ecx, dl
jmp 0x1401bb6ec
mov rax, qword [0x1411eeb30]
cmp byte [rbx + rax], 1
jne 0x1401bb6ea
mov rax, qword [0x1411eeb38]
movzx ecx, byte [rax + rbx]
jmp 0x1401bb6ec
xor cl, cl
mov byte [r12 + rbx], cl
inc rbx
cmp rbx, rdi
jl 0x1401bb630
mov r12, qword [rbp + 0x1470]
mov r13, qword [rsp + 0x50]
cmp dword [0x1411edd94], esi
mov edi, esi
jle 0x1401bb760
mov rbx, rsi
nop word [rax + rax]
mov rcx, qword [0x1411eeb10]
mov edx, 1
mov rcx, qword [rcx + rbx]
call fcn.1402b2268
mov rcx, qword [0x1411eeb18]
mov edx, 1
mov rcx, qword [rcx + rbx]
call fcn.1402b2268
inc edi
lea rbx, [rbx + 8]
cmp edi, dword [0x1411edd94]
jl 0x1401bb720
nop dword [rax + rax]
mov rcx, qword [0x1411eeb20]
mov edx, 1
mov rcx, qword [rcx + rsi]
call fcn.1402b2268
mov rcx, qword [0x1411eeb28]
mov edx, 1
mov rcx, qword [rcx + rsi]
call fcn.1402b2268
add rsi, 8
cmp rsi, 0x10
jl 0x1401bb760
mov rcx, qword [0x1411eeb20]
mov edx, 8
call fcn.1402b2268
mov rcx, qword [0x1411eeb28]
mov edx, 8
call fcn.1402b2268
mov rcx, qword [0x1411eeb10]
mov edx, 8
call fcn.1402b2268
mov rcx, qword [0x1411eeb18]
mov edx, 8
call fcn.1402b2268
mov edx, 1
mov rcx, r12
call fcn.1402b2268
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbp + 0x13e0]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1411eeb38]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [0x1411eeb30]
mov edx, 1
call fcn.1402b2268
mov eax, 1
mov r13, qword [rsp + 0x19e0]
mov rdi, qword [rsp + 0x19e8]
mov rbx, qword [rsp + 0x1a30]
mov rcx, qword [rbp + 0x18d0]
xor rcx, rsp
call fcn.1402b25d0
add rsp, 0x19f0
pop r15
pop r14
pop r12
pop rsi
pop rbp
ret