Function at 0x1400121a8
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Get keyboard layout
Link many functions at runtime
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1138]
mov eax, 0x1238
call fcn.140025470
sub rsp, rax
mov rax, qword [0x140030470]
xor rax, rsp
mov qword [rbp + 0x1120], rax
mov rdi, rcx
mov r12d, r9d
lea rcx, str.commdlg_FindReplace
mov rsi, r8
mov r14, rdx
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
nop dword [rax + rax]
xor ebx, ebx
mov dword [0x14003150c], eax
test eax, eax
je 0x140012921
lea rcx, str.commdlg_help
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
nop dword [rax + rax]
mov dword [0x140031508], eax
test eax, eax
je 0x140012921
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetDC]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x140012921
mov rcx, r14
call fcn.14001140c
test eax, eax
je 0x140012921
mov edx, 0x7f01
xor ecx, ecx
call qword [sym.imp.USER32.dll_LoadCursorW]
nop dword [rax + rax]
mov edx, 0x7f02
xor ecx, ecx
mov qword [0x140031688], rax
call qword [sym.imp.USER32.dll_LoadCursorW]
nop dword [rax + rax]
lea rdx, str.GlobalAcc
mov rcx, r14
mov qword [0x140031680], rax
call qword [sym.imp.USER32.dll_LoadAcceleratorsW]
nop dword [rax + rax]
lea rdx, str.MainAcc
mov rcx, r14
mov qword [0x1400315f8], rax
call qword [sym.imp.USER32.dll_LoadAcceleratorsW]
nop dword [rax + rax]
cmp qword [0x140031680], rbx
mov qword [0x1400315f0], rax
je 0x140012921
test rax, rax
je 0x140012921
xor eax, eax
cmp qword [0x1400315f8], rax
je 0x140012921
mov rdx, r14
mov rcx, rdi
call fcn.14001c7bc
xorps xmm0, xmm0
mov qword [0x140031678], rdi
movdqu xmmword [0x140031520], xmm0
mov qword [0x140031670], r14
mov dword [0x140031510], 0x80
mov qword [0x140031560], r14
call fcn.140007d34
call fcn.140007dd4
call fcn.140010b38
lea rcx, [rbp + 0x2c8]
call fcn.14001f9a4
mov rdx, rax
lea rcx, [rbp + 0x2d0]
call fcn.14001ca40
xor ecx, ecx
mov rdx, qword [rax]
mov qword [rax], rcx
lea rcx, [0x1400320e8]
call fcn.14000c74c
xor edx, edx
lea rcx, [rbp + 0x2d0]
call fcn.14000c74c
lea rcx, [rbp + 0x2c8]
call fcn.14000e3e4
mov rcx, qword [0x1400320e8]
xor eax, eax
test rcx, rcx
je 0x14001238e
mov rcx, qword [rcx + 0x10]
call fcn.14001facc
xor eax, eax
mov qword [rsp + 0x58], rax
lea r8, [0x140027b60]
mov qword [rsp + 0x50], r14
lea rdx, [0x140028200]
mov qword [rsp + 0x48], rax
mov r9d, 0xcf0000
mov qword [rsp + 0x40], rax
xor ecx, ecx
mov eax, dword [0x140032110]
mov dword [rsp + 0x38], eax
mov eax, dword [0x14003210c]
mov dword [rsp + 0x30], eax
mov eax, dword [0x140032104]
mov dword [rsp + 0x28], eax
mov eax, dword [0x140032108]
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExW]
nop dword [rax + rax]
mov qword [0x140032598], rax
mov qword [0x140031518], rax
test rax, rax
je 0x140012921
xor ecx, ecx
call fcn.14000c5e0
lea rdx, [0x140032138]
lea rcx, [0x140011bc0]
call fcn.140021df0
mov rcx, qword [0x140032138]
test eax, eax
mov eax, 0x80000000
cmovs rcx, rbx
cmp dword [0x140032104], eax
mov qword [0x140032138], rcx
je 0x14001252a
cmp dword [0x140032108], eax
je 0x14001252a
mov rcx, qword [0x140032598]
lea rdx, [rbp + 0xa70]
xor eax, eax
xorps xmm0, xmm0
movups xmmword [rbp + 0xa70], xmm0
mov qword [rbp + 0xa90], rax
movups xmmword [rbp + 0xa80], xmm0
lea edi, [rax + 0x2c]
mov dword [rbp + 0xa98], eax
mov dword [rbp + 0xa70], edi
call qword [sym.imp.USER32.dll_GetWindowPlacement]
nop dword [rax + rax]
xor ecx, ecx
test eax, eax
je 0x1400124eb
mov eax, dword [0x140032108]
xorps xmm0, xmm0
mov dword [0x1400317fc], eax
sub eax, dword [rbp + 0xa8c]
add eax, dword [rbp + 0xa94]
mov dword [0x140031804], eax
mov eax, dword [0x140032104]
mov dword [0x140031800], eax
sub eax, dword [rbp + 0xa90]
add eax, dword [rbp + 0xa98]
mov dword [0x140031808], eax
movdqu xmmword [0x1400317e4], xmm0
mov qword [0x1400317f4], rcx
mov dword [0x1400317e0], edi
mov rbx, qword [0x140032598]
or rcx, 0xffffffffffffffff
call qword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
nop dword [rax + rax]
lea rdx, [0x1400317e0]
mov rcx, rbx
mov rdi, rax
call qword [sym.imp.USER32.dll_SetWindowPlacement]
nop dword [rax + rax]
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetThreadDpiAwarenessContext]
nop dword [rax + rax]
mov rcx, qword [0x140032598]
mov r13d, 1
mov edx, r13d
call qword [sym.imp.SHELL32.dll_DragAcceptFiles]
nop dword [rax + rax]
mov rcx, qword [0x140032598]
lea rdx, [rbp + 0x440]
call qword [sym.imp.USER32.dll_GetClientRect]
nop dword [rax + rax]
mov eax, dword [0x14003236c]
lea r8, [0x140027b60]
neg eax
lea rdx, str.Edit
sbb r9d, r9d
xor eax, eax
mov qword [rsp + 0x58], rax
and r9d, 0xfff00000
mov qword [rsp + 0x50], r14
lea eax, [r13 + 0xe]
mov qword [rsp + 0x48], rax
add r9d, 0x50300104
mov rax, qword [0x140032598]
xor ecx, ecx
mov qword [rsp + 0x40], rax
mov eax, dword [rbp + 0x44c]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x448]
mov dword [rsp + 0x30], eax
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExW]
nop dword [rax + rax]
xor ebx, ebx
test rax, rax
je 0x140012921
mov rcx, rax
call fcn.140011c68
mov rcx, qword [0x140032588]
mov r9d, r13d
mov r8d, r13d
mov edx, 0xda
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov rcx, qword [0x140032588]
xor r9d, r9d
mov r8d, r13d
mov edx, 0x150e
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov rcx, qword [0x140032588]
lea r9, str.NPCTXT
xor r8d, r8d
mov edx, 0x1510
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov eax, dword [0x140032378]
lea rdx, [0x140027b60]
mov r8, qword [0x140032598]
neg eax
mov r9d, 0x401
sbb ecx, ecx
and ecx, 0x10000000
add ecx, 0x44800000
call qword [sym.imp.COMCTL32.dll_CreateStatusWindowW]
nop dword [rax + rax]
test rax, rax
je 0x140012921
mov rcx, rax
call fcn.140011eb0
mov cl, r13b
call fcn.14000b120
mov rcx, qword [0x140032590]
lea rdx, [rbp + 0x910]
call qword [sym.imp.USER32.dll_GetClientRect]
nop dword [rax + rax]
mov ecx, dword [rbp + 0x918]
sub ecx, dword [rbp + 0x910]
call fcn.140011f00
movsxd r8, dword [0x14003236c]
xor r9d, r9d
mov rcx, qword [0x140032588]
mov edx, 0xc8
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov dl, 3
lea rcx, [0x140031488]
call fcn.14000cf60
mov rcx, qword [0x140032598]
call qword [sym.imp.USER32.dll_GetDpiForWindow]
nop dword [rax + rax]
mov ecx, dword [0x14003067c]
mov r8d, 0x2d0
mov edx, eax
call qword [sym.imp.KERNEL32.dll_MulDiv]
nop dword [rax + rax]
neg eax
lea r14, [0x140031610]
mov rcx, r14
mov dword [0x140031610], eax
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
nop dword [rax + rax]
mov rdx, rax
mov qword [0x140031608], rax
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
lea r8, [rbp + 0xe20]
mov rcx, r15
lea edx, [rbx + 0x20]
mov rdi, rax
call qword [sym.imp.GDI32.dll_GetTextFaceW]
nop dword [rax + rax]
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.GDI32.dll_SelectObject]
nop dword [rax + rax]
lea rdx, [0x14003162c]
lea rcx, [rbp + 0xe20]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
nop dword [rax + rax]
test eax, eax
je 0x1400127ea
mov r9, r14
lea r8, [0x140011b60]
lea rdx, [0x14003162c]
mov rcx, r15
call qword [sym.imp.GDI32.dll_EnumFontsW]
nop dword [rax + rax]
mov rcx, qword [0x140031608]
call qword [sym.imp.GDI32.dll_DeleteObject]
nop dword [rax + rax]
mov rcx, r14
call qword [sym.imp.GDI32.dll_CreateFontIndirectW]
nop dword [rax + rax]
mov qword [0x140031608], rax
jmp 0x1400127f1
mov rax, qword [0x140031608]
mov rcx, qword [0x140032588]
xor r9d, r9d
mov r8, rax
lea edx, [r9 + 0x30]
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov rdx, r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_ReleaseDC]
nop dword [rax + rax]
mov rcx, qword [0x140032588]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xbd
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov qword [0x140031690], rax
mov cl, r13b
mov eax, dword [0x1400315e8]
mov dword [0x1400315e4], eax
call fcn.14000b7fc
mov cl, r13b
call fcn.14000b120
mov rcx, qword [0x140032598]
mov edx, r12d
call qword [sym.imp.USER32.dll_ShowWindow]
nop dword [rax + rax]
mov rcx, qword [0x140031688]
call qword [sym.imp.USER32.dll_SetCursor]
nop dword [rax + rax]
mov edi, 0x20
lea r14d, [rdi - 0x1e]
cmp word [rsi], di
je 0x14001289d
cmp word [rsi], 9
jne 0x1400128a2
add rsi, r14
jmp 0x140012892
mov rdx, rsi
mov dword [0x140032100], ebx
lea rcx, [0x140028220]
call fcn.1400110dc
test eax, eax
jne 0x1400128c4
mov dword [0x140032100], r13d
jmp 0x1400128e9
mov rdx, rsi
lea rcx, [0x140028228]
call fcn.1400110dc
mov ecx, dword [0x140032100]
test eax, eax
cmove ecx, r14d
mov dword [0x140032100], ecx
test ecx, ecx
je 0x1400128fd
add rsi, 4
cmp word [rsi], di
je 0x1400128f8
cmp word [rsi], 9
jne 0x1400128fd
add rsi, r14
jmp 0x1400128ed
call fcn.140011b74
xor edi, edi
test eax, eax
je 0x140012996
mov rcx, rsi
call fcn.1400115c4
test eax, eax
je 0x140012947
cmp eax, r14d
jne 0x140012afd
xor eax, eax
mov rcx, qword [rbp + 0x1120]
xor rcx, rsp
call fcn.140023ec0
add rsp, 0x1238
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edx, r12d
mov rcx, rsi
call fcn.1400117f4
test eax, eax
je 0x140012978
mov rcx, qword [0x140032598]
xor r9d, r9d
xor r8d, r8d
lea edx, [r9 + 0x10]
call qword [sym.imp.USER32.dll_PostMessageW]
nop dword [rax + rax]
mov eax, r13d
jmp 0x140012923
mov dl, 3
lea rcx, [0x1400314b8]
call fcn.14000cd88
mov rcx, rsi
call fcn.140011a40
test al, al
jne 0x140012afd
xor eax, eax
cmp word [rsi], ax
je 0x140012afd
lea rdx, [rbp + 0x2d8]
mov qword [rbp + 0x2d8], rax
mov rcx, rsi
call fcn.140011150
mov rcx, qword [rbp + 0x2d8]
xor r9d, r9d
mov qword [rsp + 0x30], rdi
mov edx, 0x80000000
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov qword [0x140031500], rax
cmp rax, 0xffffffffffffffff
jne 0x140012acc
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, r14d
jne 0x140012a92
mov r9, qword [rbp + 0x2d8]
mov r8, qword [0x140030668]
mov rdx, qword [0x140030630]
mov rcx, qword [0x140032598]
mov dword [rsp + 0x20], 0x33
call fcn.14000bd64
cmp eax, r14d
jne 0x140012a50
lea rcx, [rbp + 0x2d8]
call fcn.14000e3e4
jmp 0x140012921
cmp eax, 6
jne 0x140012ac2
mov rcx, qword [rbp + 0x2d8]
lea r8d, [rax - 3]
mov qword [rsp + 0x30], rdi
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
mov edx, 0xc0000000
mov dword [rsp + 0x20], 4
call qword [sym.imp.KERNEL32.dll_CreateFileW]
nop dword [rax + rax]
mov qword [0x140031500], rax
jmp 0x140012ac2
mov rcx, qword [rbp + 0x2d8]
call fcn.14000fddc
mov rcx, qword [0x1400320e0]
xor eax, eax
test rcx, rcx
je 0x140012ab3
call fcn.14000d3f0
xor eax, eax
mov cl, r13b
mov qword [0x1400320e0], rax
call fcn.14000b7fc
cmp qword [0x140031500], 0xffffffffffffffff
je 0x140012af1
mov edx, dword [0x140032100]
lea rcx, [rbp + 0x2d8]
xor r8d, r8d
call fcn.14000f1ac
test al, al
jne 0x140012af1
mov rcx, qword [rbp + 0x2d8]
call fcn.14000fddc
lea rcx, [rbp + 0x2d8]
call fcn.14000e3e4
mov edi, 0x50
lea rcx, [0x140031590]
mov r8d, edi
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x140032598]
lea r9, [rbp + 0x98]
mov rcx, qword [0x140032588]
lea r8, [rbp + 0x9c]
lea edx, [rdi + 0x60]
mov qword [0x140031598], rax
mov dword [0x140031590], edi
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov r9d, dword [rbp + 0x98]
lea edx, [rdi + 0x61]
mov r8d, dword [rbp + 0x9c]
mov rcx, qword [0x140032588]
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
mov rcx, qword [0x140032588]
lea edx, [rdi + 0x67]
xor r9d, r9d
xor r8d, r8d
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetKeyboardLayout]
nop dword [rax + rax]
mov ecx, 0x3ff
and ax, cx
cmp ax, 0x11
jne 0x140012bc5
mov rcx, qword [0x140032588]
mov r9, r13
mov r8, r13
mov edx, 0xd8
call qword [sym.imp.USER32.dll_SendMessageW]
nop dword [rax + rax]
xor eax, eax
mov qword [rbp + 0x2e0], rax
mov dword [rbp + 0xb0], eax
mov dword [rbp + 0xb8], eax
mov qword [rbp + 0x2f0], rax
mov dword [rbp + 0xbc], eax
xor eax, eax
lock cmpxchg dword [0x1400325c0], r13d
jne 0x140012be7
mov eax, dword [0x1400325bc]
or edi, 0xffffffff
mov dword [rbp + 0x14], edi
mov ebx, 0x338
test eax, eax
jne 0x1400131b1
xor eax, eax
mov dword [rbp - 0x48], eax
mov qword [rbp + 0x2f8], rax
mov qword [rbp + 0x158], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, ebx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov r14, rax
mov qword [rsp + 0x68], rax
xor eax, eax
test r14, r14
je 0x140013116
lea r15, [r14 + 7]
mov esi, eax
lea r14d, [rax + 1]
mov ecx, edi
mov ebx, eax
lea r12, [0x14002a292]
mov r11d, eax
lea r13d, [rax + 0x67]
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
mov r8d, r9d
xor r8d, ebx
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov r8d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r8d
imul eax, eax, 0x7f1
xor r11d, eax
lea ebx, [r11 - 0x7f1]
xor ebx, edx
xor ebx, edi
mov eax, ebx
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, ebx
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor ebx, edx
mov eax, ebx
mov edi, ebx
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
mov edi, r11d
xor eax, 0xab69
rol r11d, 7
rol eax, 5
imul edx, eax, 0x7f1
add edx, r11d
xor ebx, edx
mov r11d, ebx
xor r11d, edi
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor ebx, edx
lea eax, [rbx - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, ebx
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor ebx, edx
lea eax, [rbx - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, ebx
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor ebx, edx
mov eax, ebx
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, ebx
xor ebx, ecx
rol eax, 2
mov ecx, r9d
xor edx, eax
xor edx, esi
mov esi, r10d
xor r11d, edx
mov byte [r15 - 4], r11b
mov byte [r15], bl
lea r15, [r15 + 8]
ror r11d, 8
mov byte [r15 - 0xd], r11b
ror ebx, 8
mov byte [r15 - 9], bl
ror r11d, 8
mov byte [r15 - 0xe], r11b
ror ebx, 8
mov byte [r15 - 0xa], bl
ror r11d, 8
ror ebx, 8
mov byte [r15 - 0xf], r11b
mov byte [r15 - 0xb], bl
ror ebx, 8
ror r11d, 8
sub r13, r14
jne 0x140012c6f
mov r14, qword [rsp + 0x68]
xor eax, eax
mov cl, al
mov esi, eax
mov r13d, eax
mov ebx, 0x338
lea edx, [rax + 1]
xor cl, byte [rax + r14]
add rax, rdx
cmp rax, rbx
jb 0x140012f73
movzx eax, cl
cmp rax, qword [0x14002a5c8]
je 0x140012f92
mov edi, 0xc004d501
jmp 0x140012fa7
xor eax, eax
mov qword [rbp + 0x2f8], r14
mov r14d, eax
mov qword [rbp + 0x158], rbx
mov edi, eax
test r14, r14
je 0x140012fcc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test edi, edi
js 0x140013116
mov rax, qword [rbp + 0x158]
lea rbx, [0x140032080]
mov rdi, qword [rbp + 0x2f8]
xor ecx, ecx
xor edx, edx
mov byte [rax + rdi - 1], cl
lea r8d, [rcx + 0x60]
mov rcx, rbx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
cmp byte [rdi], al
je 0x14001311b
or rax, 0xffffffffffffffff
mov rdx, rdi
xor esi, esi
inc rax
cmp word [rdi + rax*2], si
jne 0x140013010
lea rdi, [rdi + rax*2]
mov eax, r13d
lea rcx, [rax + rax*2]
lea rbx, [rbx + rcx*8]
xor ecx, ecx
mov r8, rbx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
je 0x140013116
mov rax, qword [rbx]
mov ecx, 0x5a4d
cmp word [rax], cx
je 0x140013055
mov esi, 0xc000007b
jmp 0x14001309f
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001304e
add rcx, qword [rbx]
cmp rcx, qword [rbx]
jb 0x14001304e
cmp dword [rcx], 0x4550
jne 0x14001304e
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001308e
mov esi, 0xc000000d
jmp 0x14001309f
mov rax, qword [rcx + 0x88]
mov qword [rbx + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [rbx + 8], eax
mov r15d, dword [rdi + 2]
xor eax, eax
add rdi, 6
mov r14d, eax
test r15d, r15d
je 0x140013102
xor r12d, r12d
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r12b
jne 0x1400130bb
inc rdi
add rdi, rax
test esi, esi
js 0x1400130f0
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14001311b
mov ecx, dword [rbp - 0x48]
lea rdx, section..data
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x48], eax
add r14d, eax
cmp r14d, r15d
jb 0x1400130b4
xor eax, eax
inc r13d
lea rbx, [0x140032080]
cmp byte [rdi], al
jne 0x140013007
jmp 0x14001311d
mov esi, 0xc000007a
xor eax, eax
mov rdi, qword [rbp + 0x2f8]
test rdi, rdi
je 0x14001314b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov r13d, 1
test esi, esi
jns 0x1400131ab
lea r14, [0x140032080]
mov rdi, r14
lea ebx, [r13 + 3]
mov rcx, qword [rdi]
test rcx, rcx
je 0x140013179
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor eax, eax
add rdi, 0x18
sub rbx, r13
jne 0x140013163
xor edx, edx
lea r8d, [rbx + 0x60]
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x1400131ba
mov eax, dword [0x1400325bc]
add eax, r13d
mov dword [0x1400325bc], eax
xor r12d, r12d
mov edi, 0x80004005
mov eax, r12d
mov esi, r12d
xchg dword [0x1400325c0], eax
mov qword [rbp + 0x160], r12
mov ebx, r12d
mov qword [rbp + 0x168], r12
mov r15d, 0x80070000
mov rax, qword gs:[0x60]
cmp dword [rax + 0x2c0], r12d
je 0x1400134de
mov rax, qword [0x140030110]
call qword [0x1400270f0]
mov r14, rax
test rax, rax
jne 0x140013236
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400134e4
mov ebx, edi
jmp 0x1400134e4
mov qword [rbp + 0x170], r12
mov r9d, r12d
mov rdi, r12
lea rax, [rbp + 0xc0]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x140030130]
mov rcx, r14
call qword [0x1400270f0]
test eax, eax
jne 0x1400132f5
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x1400132e4
cmp qword [rbp + 0x170], r12
jne 0x1400132dd
mov edi, dword [rbp + 0xc0]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x170]
mov rdi, rax
call fcn.140020a4c
test rdi, rdi
je 0x1400132d6
mov r9d, dword [rbp + 0xc0]
mov qword [rbp + 0x170], rdi
jmp 0x140013243
mov ebx, 0x8007000e
jmp 0x140013303
mov ebx, 0x80004005
jmp 0x14001330a
test eax, eax
je 0x1400132dd
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x14001330a
mov rax, qword [rbp + 0x170]
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x170], r12
lea rcx, [rbp + 0x170]
call fcn.140020a4c
test ebx, ebx
js 0x1400134e4
mov rdi, qword [0x140030128]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
nop dword [rax + rax]
mov ecx, eax
mov rax, rdi
call qword [0x1400270f0]
mov r14, rax
test rax, rax
jne 0x14001336d
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
test ebx, ebx
js 0x1400134e4
mov ebx, 0x80004005
jmp 0x1400134e4
mov qword [rbp + 0x178], r12
mov ebx, r12d
mov r9d, r12d
mov rdi, r12
lea rax, [rbp + 0xec]
mov r8, rdi
mov qword [rsp + 0x20], rax
mov edx, 2
mov rax, qword [0x140030130]
mov rcx, r14
call qword [0x1400270f0]
test eax, eax
jne 0x140013436
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
jne 0x140013420
cmp qword [rbp + 0x178], r12
jne 0x140013417
mov edi, dword [rbp + 0xec]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x178]
mov rdi, rax
call fcn.140020a4c
test rdi, rdi
je 0x140013410
mov r9d, dword [rbp + 0xec]
mov qword [rbp + 0x178], rdi
jmp 0x14001337d
mov ebx, 0x8007000e
jmp 0x140013444
mov edi, 0x80004005
mov ebx, edi
jmp 0x140013450
mov edi, 0x80004005
test eax, eax
je 0x14001341c
movzx ebx, ax
or ebx, r15d
test eax, eax
cmovle ebx, eax
jmp 0x140013450
mov rax, qword [rbp + 0x178]
mov qword [rbp + 0x168], rax
mov edi, 0x80004005
mov qword [rbp + 0x178], r12
lea rcx, [rbp + 0x178]
call fcn.140020a4c
test ebx, ebx
js 0x1400134e4
mov rcx, qword [rbp + 0x160]
test rcx, rcx
je 0x1400134de
lea rdx, str.WinSta0
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x1400134de
mov rcx, qword [rbp + 0x168]
test rcx, rcx
je 0x1400134de
lea rdx, str.Default
call sub.api_ms_win_crt_string_l1_1_0.dll_wcscmp
test eax, eax
jne 0x1400134de
xor eax, eax
mov dword [rbp + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop dword [rax + rax]
mov r9d, 4
lea r8, [rbp + 0x10]
mov rcx, rax
lea edx, [r9 + 7]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_1.dll_GetProcessMitigationPolicy]
nop dword [rax + rax]
test eax, eax
je 0x140013210
mov eax, 0xf
test byte [rbp + 0x10], al
cmove esi, r13d
mov dword [rbp + 0xbc], esi
lea rcx, [rbp + 0x168]
call fcn.140020a4c
lea rcx, [rbp + 0x160]
call fcn.140020a4c
mov eax, dword [rbp + 0xbc]
test ebx, ebx
cmovs eax, r12d
mov dword [rbp + 0xbc], eax
mov edx, 4
lea ecx, [rdx + 0x3c]
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x2f0]
mov qword [rsp + 0x68], rax
mov rdi, rax
call fcn.140020a1c
xor r10d, r10d
test rdi, rdi
jne 0x140013616
mov qword [rbp + 0x2f0], r10
mov r14d, 0x8007000e
mov ebx, dword [rbp + 0x10]
mov r15d, 1
xor eax, eax
lock cmpxchg dword [0x1400325c0], r15d
jne 0x140013558
mov eax, dword [0x1400325bc]
test eax, eax
jle 0x1400135d3
sub eax, r15d
mov dword [0x1400325bc], eax
jne 0x1400135d3
lea r12, [0x140032080]
mov esi, 4
mov rdi, r12
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400135a0
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor r10d, r10d
add rdi, 0x18
sub rsi, r15
jne 0x140013589
xor edx, edx
lea r8d, [rsi + 0x60]
mov rcx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov eax, r10d
lea rcx, [rbp + 0x2f0]
xchg dword [0x1400325c0], eax
call fcn.140020a1c
mov r12d, 0xc004f012
xor esi, esi
lea r13d, [r12 + 0x15]
test r14d, r14d
jns 0x14001c764
cmp r14d, 0xd0000034
jne 0x14001c722
mov r14d, r12d
mov edi, r14d
jmp 0x14001c77a
xorps xmm0, xmm0
mov qword [rbp + 0x2f0], rdi
lea rax, [0x140030b50]
mov qword [rbp + 0x3b8], r10
movups xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x180], rax
mov r13, r10
mov dword [rbp + 0x120], r10d
mov dword [rbp + 0x124], r10d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edi, 8
mov r8d, 0xa0
mov rcx, rax
mov edx, edi
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
lea r8, [0x140030a90]
mov r15, rax
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov r14d, 0xc0000017
test rax, rax
je 0x140015e0c
mov rax, qword [rbp + 0x180]
lea edx, [rdi + 0x78]
mov r13, r15
mov qword [rsp + 0x78], r15
movups xmm0, xmmword [rax]
movups xmmword [r15], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r15 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r15 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r15 + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [r15 + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [r15 + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [r15 + 0x60], xmm0
movups xmm1, xmmword [rax + 0x70]
movups xmmword [r15 + rdx - 0x10], xmm1
movups xmm0, xmmword [rax + rdx]
movups xmmword [r15 + rdx], xmm0
movups xmm1, xmmword [rax + rdx + 0x10]
movups xmmword [r15 + rdx + 0x10], xmm1
mov qword [rbp + 0x188], r8
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r12, rax
test rax, rax
jne 0x14001374c
mov r12d, r10d
jmp 0x140015e0c
mov rax, qword [rbp + 0x188]
mov qword [rbp - 0x78], r12
mov rcx, qword [rax]
mov qword [r12], rcx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x190], rax
mov dword [rbp + 0x128], 0xc
lea r8, [rbp + 0x198]
mov edx, 0x7fffffff
lea rcx, str.Security_SPP_GenuineLocalStatus
call fcn.140020ac8
xor r10d, r10d
test eax, eax
jns 0x1400137a3
mov qword [rbp + 0x198], r10
jmp 0x140013c0a
mov rax, qword [rbp + 0x198]
mov r11d, 0xc0000095
inc rax
mov qword [rbp + 0x198], rax
lea eax, [rax*2 + 4]
cmp eax, 4
jb 0x1400137d1
mov r14d, r10d
mov dword [rbp + 0x128], eax
jmp 0x1400137da
mov eax, dword [rbp + 0x128]
mov r14d, r11d
mov dword [rbp - 0x18], r14d
test r14d, r14d
js 0x140015e10
add eax, 0xc4
or edi, 0xffffffff
mov ecx, 0xc4
mov edx, edi
cmp eax, ecx
mov r8d, 0x10000000
cmovae edx, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r8d
mov dword [rbp - 0x18], r14d
cmp eax, ecx
jb 0x140015df7
lea eax, [rdx + 8]
mov ecx, edi
cmp eax, edx
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r8d
mov dword [rbp - 0x18], r14d
cmp eax, edx
jb 0x140015df7
mov dword [rbp + 0x128], 8
lea eax, [rcx + 8]
mov edx, edi
cmp eax, ecx
cmovae edx, eax
sbb r14d, r14d
and r14d, r11d
add r14d, r8d
mov dword [rbp - 0x18], r14d
cmp eax, ecx
jb 0x140015df7
mov dword [rbp + 0x3b4], edx
mov edi, edx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdx, rax
test rax, rax
jne 0x14001389f
mov r14d, 0xc0000017
jmp 0x140015e0c
mov qword [rbp + 0x3b8], rdx
mov dword [rbp + 0x3b0], r10d
mov dword [rbp + 0x130], r10d
lea rdi, [rax + 4]
cmp rdi, rdx
jb 0x140015fa0
mov ecx, dword [rbp + 0x3b4]
add rax, 8
add rcx, rdx
cmp rax, rcx
ja 0x140013edc
mov dword [rdx], 4
mov eax, dword [rbp + 0x130]
mov dword [rdi], eax
mov ecx, dword [rbp + 0x3b0]
inc ecx
mov dword [rbp + 0x3b0], ecx
cmp qword [rbp + 0x3b8], r10
jne 0x14001392d
mov dword [rbp + 0x138], Ordinal_170
mov eax, dword [rbp + 0x3b4]
lea edx, [rax + 0xa4]
cmp edx, eax
jb 0x140015fa0
inc ecx
mov dword [rbp + 0x3b4], edx
mov dword [rbp + 0x3b0], ecx
jmp 0x140013a36
mov rdi, qword [rbp + 0x3b8]
mov edx, r10d
test ecx, ecx
je 0x14001397b
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x14001396c
mov dword [rbp + 0x138], eax
mov r8d, eax
add r8, rdi
cmp r8, rdi
jb 0x140015fa0
mov rdi, r8
mov r8d, 1
add edx, r8d
cmp edx, ecx
jae 0x140013981
jmp 0x14001393b
mov r14d, 0xc0000095
mov dword [rbp - 0x18], r14d
jmp 0x140013a27
mov r8d, 1
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140015fa0
mov ecx, dword [rbp + 0x3b4]
lea rax, [rdi + 0xa4]
add rcx, qword [rbp + 0x3b8]
mov r14d, r10d
mov dword [rbp - 0x18], r10d
cmp rax, rcx
ja 0x140013edc
mov dword [rdi], 0xa0
mov eax, 0x80
movups xmm0, xmmword [r15]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [r15 + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [r15 + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [r15 + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [r15 + 0x60]
movups xmmword [rdx + 0x60], xmm0
movups xmm1, xmmword [r15 + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [r15 + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [r15 + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
mov ecx, dword [rbp + 0x3b0]
add ecx, r8d
mov dword [rbp + 0x3b0], ecx
test r14d, r14d
js 0x140015e10
mov edx, dword [rbp + 0x3b4]
cmp qword [rbp + 0x3b8], r10
jne 0x140013a72
mov dword [rbp + 0x13c], 0xc
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x140015fa0
mov edx, eax
mov r15d, 1
mov rax, qword [rbp + 0x190]
add ecx, r15d
mov qword [rbp + 0x1a0], rax
jmp 0x140013b26
mov rdi, qword [rbp + 0x3b8]
mov r8d, r10d
mov r15d, 1
test ecx, ecx
je 0x140013ab4
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140013b4f
mov dword [rbp + 0x13c], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140015fa0
add r8d, r15d
mov rdi, r9
cmp r8d, ecx
jb 0x140013a86
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140015fa0
mov ecx, edx
lea rax, [rdi + 0xc]
add rcx, qword [rbp + 0x3b8]
mov r14d, r10d
mov dword [rbp - 0x18], r10d
cmp rax, rcx
ja 0x140013edc
mov dword [rdi], 8
mov r11d, 0xc0000095
mov rax, qword [r12]
mov qword [r8], rax
mov ecx, dword [rbp + 0x3b0]
mov edx, dword [rbp + 0x3b4]
add ecx, r15d
mov dword [rbp + 0x3b0], ecx
test r14d, r14d
js 0x140015e10
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x1a0], rax
cmp qword [rbp + 0x3b8], r10
jne 0x140013b5e
mov dword [rbp + 0x140], 0xc
lea eax, [rdx + 0xc]
cmp eax, edx
jb 0x140015fa0
add ecx, r15d
mov dword [rbp + 0x3b4], eax
mov dword [rbp + 0x3b0], ecx
jmp 0x140013be4
mov r11d, 0xc0000095
mov r14d, r11d
mov dword [rbp - 0x18], r11d
jmp 0x140013b06
mov rdi, qword [rbp + 0x3b8]
mov r8d, r10d
test ecx, ecx
je 0x140013b9a
mov eax, dword [rdi]
add eax, 4
cmp eax, 4
jb 0x140013c15
mov dword [rbp + 0x140], eax
mov r9d, eax
add r9, rdi
cmp r9, rdi
jb 0x140015f8c
add r8d, r15d
mov rdi, r9
cmp r8d, ecx
jb 0x140013b6c
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140015f8c
mov ecx, edx
lea rax, [rdi + 0xc]
add rcx, qword [rbp + 0x3b8]
mov r14d, r10d
mov dword [rbp - 0x18], r10d
cmp rax, rcx
ja 0x140013edc
mov dword [rdi], 8
mov rax, qword [rbp + 0x1a0]
mov qword [r8], rax
add dword [rbp + 0x3b0], r15d
test r14d, r14d
js 0x140015e10
lea r8, [rbp + 0x1a8]
mov edx, 0x7fffffff
lea rcx, str.Security_SPP_GenuineLocalStatus
call fcn.140020ac8
xor r10d, r10d
test eax, eax
jns 0x140013c1e
mov qword [rbp + 0x1a8], r10
mov r14d, 0xc000003e
jmp 0x140015e0c
mov r14d, r11d
mov dword [rbp - 0x18], r11d
jmp 0x140013bdb
mov rax, qword [rbp + 0x1a8]
lea rcx, [rax + 1]
cmp rcx, rax
jb 0x140015f98
lea r8d, [rcx + rcx]
mov qword [rbp + 0x1a8], rcx
test r8d, r8d
je 0x140013d4f
cmp qword [rbp + 0x3b8], r10
jne 0x140013cb4
add r8d, 4
cmp r8d, 4
jb 0x140013ca2
mov dword [rbp + 0x144], r8d
mov eax, dword [rbp + 0x3b4]
mov r11d, 0xc0000095
lea edi, [r8 + rax]
cmp edi, eax
jb 0x140013c8d
add dword [rbp + 0x3b0], r15d
mov r14d, r10d
mov dword [rbp + 0x3b4], edi
mov dword [rbp - 0x18], r10d
jmp 0x140013d65
or edi, 0xffffffff
mov dword [rbp - 0x18], r11d
mov dword [rbp + 0x3b4], edi
mov r14d, r11d
jmp 0x140013d65
mov r11d, 0xc0000095
mov r14d, r11d
mov dword [rbp - 0x18], r11d
jmp 0x140013d5f
mov ecx, r10d
mov rdx, qword [rbp + 0x3b8]
cmp dword [rbp + 0x3b0], r10d
jbe 0x140013ced
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140013ca2
mov dword [rbp + 0x144], eax
add rax, rdx
cmp rax, rdx
jb 0x140013ca2
add ecx, r15d
mov rdx, rax
cmp ecx, dword [rbp + 0x3b0]
jb 0x140013cc7
lea r9, [rdx + 4]
cmp r9, rdx
jb 0x140013ca2
mov edi, dword [rbp + 0x3b4]
lea rax, [r8 + 4]
mov ecx, edi
mov dword [rbp - 0x18], r10d
add rcx, qword [rbp + 0x3b8]
add rax, rdx
mov r14d, r10d
mov r10d, r8d
cmp rax, rcx
jbe 0x140013d2e
mov r14d, 0xc0000023
xor r10d, r10d
mov dword [rbp - 0x18], r14d
lea r11d, [r14 + 0x72]
jmp 0x140013d65
mov dword [rdx], r8d
mov rcx, r9
mov r8, r10
lea rdx, str.Security_SPP_GenuineLocalStatus
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
add dword [rbp + 0x3b0], r15d
xor r10d, r10d
jmp 0x140013d59
mov r14d, 0xc000000d
mov dword [rbp - 0x18], r14d
mov r11d, 0xc0000095
mov edi, dword [rbp + 0x3b4]
test r14d, r14d
js 0x140015e10
mov eax, dword [rbp + 0xbc]
mov dword [rbp + 0x148], eax
cmp qword [rbp + 0x3b8], r10
jne 0x140013daa
mov dword [rbp + 0x38], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140015f8c
add dword [rbp + 0x3b0], r15d
mov edi, eax
mov dword [rbp + 0x40], 4
jmp 0x140013e4a
mov ecx, r10d
mov rdx, qword [rbp + 0x3b8]
cmp dword [rbp + 0x3b0], r10d
jbe 0x140013deb
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140013e70
mov dword [rbp + 0x38], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140015f8c
add ecx, r15d
mov rdx, r8
cmp ecx, dword [rbp + 0x3b0]
jb 0x140013dbd
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140015f8c
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp + 0x3b8]
mov r14d, r10d
mov dword [rbp - 0x18], r10d
cmp rax, rcx
ja 0x140013edc
mov dword [rdx], 4
mov eax, dword [rbp + 0x148]
mov dword [r8], eax
add dword [rbp + 0x3b0], r15d
mov edi, dword [rbp + 0x3b4]
test r14d, r14d
js 0x140015e10
mov dword [rbp + 0x40], 4
cmp qword [rbp + 0x3b8], r10
jne 0x140013e79
mov dword [rbp + 0x48], 8
lea eax, [rdi + 8]
cmp eax, edi
jb 0x140015f8c
add dword [rbp + 0x3b0], r15d
mov edi, eax
mov dword [rbp + 0x3b4], eax
jmp 0x140013f12
mov r14d, r11d
mov dword [rbp - 0x18], r11d
jmp 0x140013e31
mov ecx, r10d
mov rdx, qword [rbp + 0x3b8]
cmp dword [rbp + 0x3b0], r10d
jbe 0x140013eb6
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x140013ee7
mov dword [rbp + 0x48], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x140015f8c
add ecx, r15d
mov rdx, r8
cmp ecx, dword [rbp + 0x3b0]
jb 0x140013e8c
lea r8, [rdx + 4]
cmp r8, rdx
jb 0x140015f8c
mov ecx, edi
lea rax, [rdx + 8]
add rcx, qword [rbp + 0x3b8]
mov r14d, r10d
mov dword [rbp - 0x18], r10d
cmp rax, rcx
jbe 0x140013ef0
mov r14d, 0xc0000023
jmp 0x140015e0c
mov r14d, r11d
mov dword [rbp - 0x18], r11d
jmp 0x140013f09
mov dword [rdx], 4
mov eax, dword [rbp + 0x40]
mov dword [r8], eax
add dword [rbp + 0x3b0], r15d
mov edi, dword [rbp + 0x3b4]
test r14d, r14d
js 0x140015e10
mov dword [rbp + 0xa8], 8
mov r8, r10
mov qword [rbp - 0x70], r10
mov r12d, r10d
mov qword [rbp + 0x1b0], r10
mov qword [rbp - 0x80], r10
mov r13d, r10d
mov dword [rbp - 0x50], r10d
mov qword [rbp - 0x28], r10
mov dword [rbp + 0x4c], r10d
mov qword [rbp - 0x60], r10
mov qword [rbp - 0x10], r10
mov dword [rbp + 0x50], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x1b8], rax
lea eax, [rdi + 8]
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb r14d, r14d
and r14d, r11d
cmp eax, 8
jb 0x14001405a
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x140013f8c
mov r14d, r11d
jmp 0x14001405a
mov dword [rbp + 0x54], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
jne 0x140013fca
mov r14d, 0xc0000017
jmp 0x140014056
mov eax, dword [rbp + 0x3b0]
lea rdx, [rdi + 4]
mov dword [rdi], eax
cmp rdx, rdi
jb 0x140014024
mov eax, dword [rbp + 0x3b4]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x140014024
mov edx, dword [rbp + 0x54]
mov r14d, r10d
mov rax, qword [rbp + 0x1b8]
mov qword [rdx + rdi - 8], rax
mov r8d, dword [rbp + 0x3b4]
mov rdx, qword [rbp + 0x3b8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r12d, dword [rbp + 0x54]
xor r10d, r10d
mov r8, rdi
mov qword [rbp - 0x70], rdi
mov edi, r10d
jmp 0x14001402e
mov r8, qword [rbp - 0x70]
mov r14d, 0xc0000095
test rdi, rdi
je 0x14001405a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r8, qword [rbp - 0x70]
or r14d, 0x10000000
mov dword [rbp - 0x18], r14d
jl 0x140014b83
mov qword [rbp + 0x1c0], r10
mov r15, r10
mov qword [rbp - 0x30], r10
test r8, r8
jne 0x140014089
mov r14d, 0xc000000d
jmp 0x1400148d6
mov r14d, r12d
mov qword [rbp - 0x68], r14
test r12d, r12d
je 0x1400147db
lea rdi, [r14 + 8]
mov qword [rbp - 0x40], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 0x38], rax
mov r13, rax
test rax, rax
je 0x1400147db
mov r8, qword [rbp - 0x70]
mov dl, r10b
mov byte [rsp + 0x60], dl
mov ecx, r10d
test r12d, r12d
je 0x1400140fb
lea eax, [r10 + 1]
xor dl, byte [rcx + r8]
add rcx, rax
cmp rcx, r14
jb 0x1400140eb
mov byte [rsp + 0x60], dl
xor edi, edi
mov qword [rbp + 0x8c0], rbx
mov r9d, r10d
mov dword [rbp - 0x18], edi
or r10d, 0xffffffff
mov dword [rsp + 0x70], edi
mov rax, r14
mov r12, r13
and eax, 7
je 0x140014208
mov dword [rbp - 0x18], edi
mov ecx, edi
mov dword [rsp + 0x70], ecx
mov r11d, edi
mov r10d, edi
test eax, eax
je 0x140014180
lea esi, [rdi + 1]
lea r9d, [rdi + 0x38]
movzx edi, byte [r8]
inc r8
cmp r10d, 4
jge 0x14001415a
lea ecx, [r9 - 0x20]
shl edi, cl
mov ecx, dword [rsp + 0x70]
or ecx, edi
mov dword [rsp + 0x70], ecx
jmp 0x140014166
mov ecx, r9d
shl edi, cl
mov ecx, dword [rsp + 0x70]
or r11d, edi
add r10d, esi
sub r9d, 8
cmp r10d, eax
jl 0x14001413b
mov dword [rbp - 0x18], r11d
movabs rsi, 0x7f1137fab69605e
mov r9d, ecx
mov r10d, r11d
xor r9d, 0xb17a307a
xor r10d, 0x42f6b18d
xor r11d, r11d
mov ecx, r9d
mov edi, r10d
test eax, eax
je 0x1400141d9
lea rsi, [r12 + 1]
mov qword [rbp - 0x58], rsi
cmp r11d, 4
jge 0x1400141b7
rol ecx, 8
mov esi, ecx
jmp 0x1400141bc
rol edi, 8
mov esi, edi
mov byte [r12], sil
inc r11d
mov rsi, qword [rbp - 0x58]
mov r12, rsi
cmp r11d, eax
jl 0x1400141a1
movabs rsi, 0x7f1137fab69605e
cmp eax, 4
jbe 0x1400141f0
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x140014208
xor edi, edi
mov r10d, edi
cmp eax, 4
jae 0x140014208
lea ecx, [rdi + 4]
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
mov r11, r14
shr r11, 3
test r11, r11
je 0x14001454d
movzx eax, word [rbp + 0x8c6]
lea rdx, [r12 + 7]
mov r12d, dword [rbp + 0x8c4]
lea rcx, [r8 + 2]
mov esi, dword [rbp - 0x18]
mov r15d, dword [rsp + 0x70]
mov dword [rbp - 0x48], eax
movzx eax, word [rbp + 0x8c2]
mov dword [rbp - 0x58], eax
movzx r13d, bx
movzx r14d, r12w
movzx eax, byte [rcx - 1]
movzx r8d, byte [rcx - 2]
movzx edi, byte [rcx + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [rcx]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 1]
shl r8d, 8
or r8d, eax
movzx eax, byte [rcx + 3]
or edi, eax
movzx eax, byte [rcx + 4]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + 5]
add rcx, 8
shl edi, 8
or edi, eax
mov qword [rbp - 0x18], rcx
xor r10d, edi
mov ecx, r12d
mov eax, r10d
sub eax, r13d
xor eax, r12d
xor eax, r8d
xor r9d, eax
movzx eax, word [rbp + 0x8c2]
xor ecx, r9d
ror ecx, 0xf
imul ecx, eax
mov eax, r9d
ror eax, 7
add ecx, eax
xor r10d, ecx
mov eax, r10d
ror eax, 0xa
lea ecx, [r10 + rbx]
ror ecx, 9
imul ecx, r14d
sub ecx, eax
movzx eax, word [rbp + 0x8c6]
xor r9d, ecx
mov ecx, r9d
xor ecx, r14d
rol ecx, 4
imul ecx, eax
mov eax, r9d
rol eax, 5
add ecx, eax
mov eax, r12d
xor r10d, ecx
mov ecx, r10d
xor ecx, ebx
sub eax, ecx
xor r9d, eax
movzx eax, word [rbp + 0x8c2]
mov ecx, r9d
sub ecx, r13d
imul ecx, eax
mov eax, r9d
shr eax, 6
sub ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x8c6]
mov eax, r10d
ror eax, 0xf
xor eax, r14d
imul eax, r13d
xor r9d, eax
mov eax, r9d
not eax
ror eax, 3
add eax, ecx
imul eax, r14d
xor r10d, eax
mov eax, r10d
sub eax, r12d
sub eax, r13d
xor r9d, eax
mov eax, r9d
mov ecx, r9d
xor eax, dword [rbp - 0x48]
imul eax, dword [rbp - 0x58]
ror ecx, 0xa
xor ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, r13d
ror eax, 3
rol ecx, 6
imul ecx, r14d
xor ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8c6]
mov eax, r9d
ror eax, 0xf
sub eax, ecx
imul eax, r13d
xor r10d, eax
movzx eax, word [rbp + 0x8c6]
mov ecx, r10d
xor ecx, eax
mov eax, r10d
imul ecx, r13d
shr eax, 1
xor ecx, eax
mov eax, r10d
xor r9d, ecx
shr eax, 0xf
mov ecx, r10d
sub ecx, r14d
rol ecx, 3
imul ecx, r13d
xor ecx, eax
movzx eax, word [rbp + 0x8c2]
xor r9d, ecx
mov ecx, r9d
sub ecx, r14d
imul ecx, eax
mov eax, r9d
shr eax, 0xd
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 9
ror eax, 0xb
imul ecx, r14d
xor ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8c6]
mov eax, r9d
sub eax, ecx
sub eax, ebx
xor r10d, eax
mov eax, r10d
mov ecx, r10d
xor eax, dword [rbp - 0x58]
ror ecx, 7
imul eax, r13d
sub eax, ecx
xor r9d, eax
movzx eax, word [rbp + 0x8c6]
mov ecx, r9d
xor ecx, eax
movzx eax, word [rbp + 0x8c2]
rol ecx, 4
imul ecx, eax
mov eax, r9d
ror eax, 0x10
sub ecx, eax
xor r10d, ecx
mov ecx, ebx
sub ecx, r10d
mov eax, r10d
ror ecx, 0xa
imul ecx, r14d
ror eax, 4
add ecx, eax
movzx eax, word [rbp + 0x8c6]
xor r9d, ecx
mov ecx, r9d
sub ecx, ebx
ror ecx, 4
imul ecx, eax
mov eax, r9d
ror eax, 9
xor ecx, eax
xor r10d, ecx
mov ecx, r12d
xor ecx, r10d
mov eax, r10d
rol ecx, 8
imul ecx, r13d
rol eax, 2
sub ecx, eax
movzx eax, word [rbp + 0x8c2]
xor r9d, ecx
mov ecx, r12d
sub ecx, r9d
ror ecx, 0xb
imul ecx, eax
mov eax, r9d
ror eax, 0xc
sub ecx, eax
movzx eax, word [rbp + 0x8c2]
xor r10d, ecx
mov ecx, r10d
xor ecx, eax
mov eax, r10d
xor r10d, r12d
imul ecx, r14d
shr eax, 8
xor ecx, eax
xor r9d, ecx
mov rcx, qword [rbp - 0x18]
xor r10d, r9d
xor r9d, r15d
mov byte [rdx - 4], r9b
xor r10d, ebx
xor r10d, esi
ror r9d, 8
mov byte [rdx], r10b
mov r15d, r8d
mov byte [rdx - 5], r9b
lea rdx, [rdx + 8]
ror r10d, 8
mov esi, edi
mov byte [rdx - 9], r10b
ror r9d, 8
mov byte [rdx - 0xe], r9b
ror r10d, 8
mov byte [rdx - 0xa], r10b
ror r9d, 8
ror r10d, 8
mov byte [rdx - 0xf], r9b
mov byte [rdx - 0xb], r10b
ror r10d, 8
ror r9d, 8
sub r11, 1
jne 0x14001424c
mov dl, byte [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov r15, qword [rbp - 0x30]
mov r14, qword [rbp - 0x68]
mov r13, qword [rbp - 0x38]
movzx eax, dl
mov qword [r14 + r13], rax
mov r14, qword [rbp - 0x40]
mov qword [rbp + 0x1c8], r14
mov qword [rbp + 0x1c0], r13
lea rax, [0x140030b40]
mov qword [rbp + 0x1d8], 8
mov qword [rbp + 0x1d0], rax
lea r12, [0x140030aa0]
mov qword [rbp + 0x1e8], Ordinal_170
mov qword [rbp + 0x210], r12
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
jne 0x1400145d2
mov r14d, 0xc0000017
jmp 0x1400147ca
mov r14d, r14d
mov dword [rax], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x14001460e
mov r14d, 0xc0000017
jmp 0x14001470f
mov qword [rdi + 8], rax
mov r8, r14
mov rdx, r13
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r14d, 0xa0
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
mov r14d, 8
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x140014603
mov qword [rdi + 0x18], rax
movups xmm0, xmmword [r12]
lea edx, [r14 + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [r12 + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [r12 + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [r12 + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [r12 + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [r12 + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [r12 + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [r12 + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [r12 + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [r12 + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rdi + 0x20], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r14d
mov edx, r14d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rax
test rax, rax
je 0x140014603
mov qword [rdi + 0x28], rax
mov rax, qword [0x140030b40]
mov r15, rdi
mov qword [rcx], rax
mov r14d, r10d
mov edi, r10d
test rdi, rdi
je 0x1400147ca
mov r12, qword [rdi + 8]
test r12, r12
je 0x140014748
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 8], r10
mov r12, qword [rdi + 0x18]
test r12, r12
je 0x140014778
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov r12, qword [rdi + 0x28]
test r12, r12
je 0x1400147a7
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r14d, r14d
js 0x1400147e1
mov qword [rbp + 0x1b0], r15
mov r15, r10
jmp 0x1400147e1
mov r14d, 0xc0000001
mov rdi, qword [rbp + 0x1c0]
test rdi, rdi
je 0x140014817
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x1c0], r10
test r15, r15
je 0x1400148d2
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140014850
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140014880
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x1400148af
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r13d, dword [rbp - 0x50]
or r14d, 0x10000000
mov dword [rbp - 0x18], r14d
jl 0x140014b83
mov r15, qword [rbp + 0x1b0]
mov ecx, dword [r15]
mov edi, dword [r15 + 0x20]
add ecx, 4
mov edx, dword [r15 + 0x10]
cmp ecx, 4
jb 0x140014a3b
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140014a3b
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x140014a3b
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x140014a3b
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x140014a3b
mov dword [rbp + 0x58], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r12d, r12d
mov rdi, rax
test rax, rax
jne 0x140014975
mov r14d, 0xc0000017
mov r9d, 0xc0000095
jmp 0x140014a47
mov eax, dword [r15]
lea r14, [rdi + 4]
mov dword [rdi], eax
cmp r14, rdi
jb 0x140014a07
mov r8d, dword [r15]
mov rcx, r14
mov rdx, qword [r15 + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15]
add rcx, r14
cmp rcx, r14
jb 0x140014a07
mov eax, dword [r15 + 0x10]
lea r14, [rcx + 4]
mov dword [rcx], eax
cmp r14, rcx
jb 0x140014a07
mov r8d, dword [r15 + 0x10]
mov rcx, r14
mov rdx, qword [r15 + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [r15 + 0x10]
add rcx, r14
cmp rcx, r14
jb 0x140014a07
mov eax, dword [r15 + 0x20]
lea r14, [rcx + 4]
mov dword [rcx], eax
cmp r14, rcx
jb 0x140014a07
mov r8d, dword [r15 + 0x20]
mov rcx, r14
mov rdx, qword [r15 + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [r15 + 0x20]
add rax, r14
cmp rax, r14
jb 0x140014a07
mov r13d, dword [rbp + 0x58]
mov r14d, r12d
mov qword [rbp - 0x80], rdi
mov rdi, r12
jmp 0x140014a0d
mov r14d, 0xc0000095
test rdi, rdi
je 0x14001496a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
jmp 0x14001496a
mov r9d, 0xc0000095
xor r12d, r12d
mov r14d, r9d
or r14d, 0x10000000
mov dword [rbp - 0x18], r14d
jl 0x140014b80
mov dword [rbp + 0x5c], r12d
mov dword [rbp + 0x60], 0x3c
mov eax, 0x48
mov dword [rbp + 0x88], eax
mov dword [rbp + 0x64], eax
cmp qword [rbp + 0x3b8], r12
jne 0x140014a89
mov r14d, 0xc000000d
mov dword [rbp - 0x18], r14d
jmp 0x140014e0b
mov r8d, 1
cmp dword [rbp + 0x3b0], r8d
jbe 0x140014a7a
mov rax, qword [rbp + 0x3b8]
mov edx, r12d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140014e04
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140014e04
add edx, r8d
cmp edx, r8d
jb 0x140014aa2
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140014e04
test edi, edi
mov dword [rbp + 0x5c], edi
mov rax, r12
cmovne rax, rcx
mov qword [rbp + 0x1f0], rax
cmp dword [rbp + 0x3b0], 2
jbe 0x140014a7a
mov rax, qword [rbp + 0x3b8]
mov edx, r12d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140014e04
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140014e04
add edx, r8d
cmp edx, 2
jb 0x140014afa
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140014e04
test edx, edx
mov dword [rbp + 0x68], edx
mov rax, r12
cmovne rax, rcx
mov qword [rbp + 0x1f8], rax
lea eax, [rdi + 0x50]
cmp eax, 0x50
jb 0x140014e04
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x140014e04
lea eax, [rdx + rcx]
cmp eax, ecx
jb 0x140014e04
mov dword [rbp + 0x6c], eax
mov dword [rbp - 0x18], r12d
mov r14d, r12d
cmp eax, 0x400000
jbe 0x140014dff
mov r14d, 0x8000ffff
mov dword [rbp - 0x18], r14d
xor r10d, r10d
mov r12, qword [rbp - 0x80]
mov r13d, 0x8007007a
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x140014bb9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r15, qword [rbp + 0x1b0]
test r15, r15
je 0x140014c82
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140014bf9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140014c29
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x140014c58
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x1b0], r10
test r12, r12
je 0x140014caa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, qword [rbp - 0x28]
test rdi, rdi
je 0x140014cd6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r15, qword [rbp - 0x60]
test r15, r15
je 0x140014d95
mov rdi, qword [r15 + 8]
test rdi, rdi
je 0x140014d13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140014d43
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rdi, qword [r15 + 0x28]
test rdi, rdi
je 0x140014d72
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, qword [rbp - 0x10]
test rdi, rdi
je 0x140014dc1
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r14d, r14d
js 0x140015f7e
mov r8d, 1
cmp dword [rbp + 0x3c0], r8d
jb 0x140015d9d
cmp qword [rbp + 0x3c8], r10
jne 0x140015a9d
mov r14d, 0xc000000d
mov dword [rbp - 0x18], r14d
mov r11d, 0xc0000095
jmp 0x140015af9
mov dword [rbp + 0x4c], eax
jmp 0x140014e0b
mov r14d, r9d
mov dword [rbp - 0x18], r9d
test r14d, r14d
js 0x140014b80
mov edi, dword [rbp + 0x4c]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x140014e4e
mov r15, qword [rbp - 0x28]
mov r14d, 0xd0000017
jmp 0x140014e5b
mov r15, rax
mov qword [rbp - 0x28], rax
mov r14d, 0x10000000
mov r12, qword [rbp - 0x80]
mov dword [rbp - 0x18], r14d
test r14d, r14d
js 0x140014b87
test r12, r12
jne 0x140014e80
mov r14d, 0x80070057
mov dword [rbp - 0x18], r14d
jmp 0x140014b87
test r15, r15
je 0x140014e71
mov eax, dword [rbp + 0x4c]
lea r8, [rbp + 0x200]
lea rdx, str.ntdll.dll
mov dword [rbp + 0x414], eax
mov ecx, 1
mov qword [rbp + 0x400], r12
mov dword [rbp + 0x410], r13d
mov qword [rbp + 0x408], r15
mov dword [rbp + 0x418], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
test eax, eax
jne 0x140014efe
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
mov edx, dword [rbp + 0x4c]
movzx r14d, ax
or r14d, 0x80070000
test eax, eax
cmovle r14d, eax
mov dword [rbp - 0x18], r14d
test r14d, r14d
js 0x140014f50
mov r14d, 0x80004005
jmp 0x140014f4c
mov rcx, qword [rbp + 0x200]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x140014ecd
xor r9d, r9d
lea rdx, [rbp + 0x400]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x1400270f0]
mov edx, dword [rbp + 0x4c]
mov r14d, eax
or r14d, 0x10000000
cmovge edx, dword [rbp + 0x414]
mov dword [rbp + 0x4c], edx
mov dword [rbp - 0x18], r14d
xor r10d, r10d
cmp r14d, 0xd0000023
jne 0x140014f6e
mov r13d, 0x8007007a
mov r14d, r13d
mov dword [rbp - 0x18], r13d
jmp 0x140014b8d
test r14d, r14d
js 0x140014b87
mov qword [rbp - 0x38], r10
cmp edx, 4
jae 0x140014f8b
mov r14d, 0xc000003e
jmp 0x14001535a
mov r13d, dword [r15]
lea r12, [r15 + 4]
cmp r12, r15
jb 0x140015354
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x140014f80
lea rdi, [r12 + r13]
mov qword [rbp - 0x30], rdi
cmp rdi, r12
jb 0x140015354
lea ecx, [r13 + 4]
cmp ecx, 4
jb 0x140015354
mov eax, edx
sub eax, ecx
cmp eax, 4
jb 0x140014f80
mov r14d, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x140015354
lea edi, [rcx + 4]
cmp edi, ecx
jb 0x140015354
mov eax, edx
sub eax, edi
cmp eax, r14d
jb 0x140014f80
lea rcx, [r8 + r14]
cmp rcx, r8
jb 0x140015354
lea r8d, [r14 + rdi]
cmp r8d, edi
jb 0x140015354
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x140014f80
mov r15d, dword [rcx]
lea rax, [rcx + 4]
mov qword [rbp - 0x68], rax
cmp rax, rcx
jb 0x140015354
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x140015354
mov eax, edx
sub eax, ecx
cmp eax, r15d
jb 0x140014f80
lea edi, [r15 + rcx]
cmp edi, ecx
jb 0x140015354
cmp edx, edi
jne 0x140014f80
lea ecx, [r15 + r14]
mov eax, edx
add ecx, r13d
add rcx, 0xc
cmp rcx, rax
jne 0x140014f80
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
jne 0x1400150a8
mov r14d, 0xc0000017
jmp 0x14001527c
test r12, r12
je 0x1400150fd
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x1400150e6
mov r14d, 0xc0000017
jmp 0x1400151c1
mov qword [rdi + 8], rax
mov r8, r13
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x140015104
mov dword [rax], r10d
mov qword [rax + 8], r10
mov r12, qword [rbp - 0x30]
add r12, 4
je 0x140015154
mov dword [rdi + 0x10], r14d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x1400150db
mov qword [rdi + 0x18], rax
mov r8, r14
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14001515c
mov dword [rdi + 0x10], r10d
mov qword [rdi + 0x18], r10
mov r12, qword [rbp - 0x68]
test r12, r12
je 0x1400151af
mov dword [rdi + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x1400150db
mov qword [rdi + 0x28], rax
mov r8, r15
mov rdx, r12
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x1400151b7
mov dword [rdi + 0x20], r10d
mov qword [rdi + 0x28], r10
mov qword [rbp - 0x38], rdi
mov r14d, r10d
mov rdi, r10
test rdi, rdi
je 0x14001527c
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400151fa
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 8], r10
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x14001522a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x140015259
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r12, qword [rbp - 0x38]
test r14d, r14d
mov rdi, r10
cmovs rdi, qword [rbp - 0x38]
cmovs r12, r10
mov qword [rbp - 0x60], r12
test rdi, rdi
je 0x14001535e
mov r15, qword [rdi + 8]
test r15, r15
je 0x1400152cc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 8], r10
mov r15, qword [rdi + 0x18]
test r15, r15
je 0x1400152fc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rdi + 0x18], r10
mov r15, qword [rdi + 0x28]
test r15, r15
je 0x14001532b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rdi + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 0x60], r12
jmp 0x14001535e
mov r14d, 0xc0000095
mov r12, qword [rbp - 0x60]
or r14d, 0x10000000
mov dword [rbp - 0x18], r14d
jl 0x140014b83
mov qword [rbp + 0x208], r10
mov rdi, r10
mov qword [rbp - 0x38], r10
mov r15, r10
test r12, r12
jne 0x140015394
mov r14d, 0xd000000d
mov dword [rbp - 0x18], r14d
jmp 0x140014b83
mov r13, qword [r12 + 8]
mov qword [rbp - 0x40], r13
test r13, r13
je 0x140015385
cmp dword [r12], r10d
je 0x140015385
mov r14d, dword [r12]
mov dword [rbp - 0x58], r10d
test r14, r14
je 0x1400158dc
add r14, 0xfffffffffffffff8
mov qword [rbp - 0x30], r14
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 8], rax
mov r12, rax
test rax, rax
je 0x1400158d5
mov rdi, r14
mov qword [rbp + 0x8b0], rsi
mov dl, r10b
mov r8, r13
mov byte [rsp + 0x60], dl
mov r13, rax
mov r11d, r10d
and edi, 7
je 0x1400154f5
mov dword [rbp - 0x18], r10d
mov ecx, r10d
mov dword [rbp - 0x50], ecx
test edi, edi
je 0x14001546f
lea ebx, [r10 + 1]
lea r9d, [r10 + 0x38]
movzx eax, byte [r8]
inc r8
cmp r10d, 4
jge 0x14001544a
lea ecx, [r9 - 0x20]
shl eax, cl
mov ecx, dword [rbp - 0x50]
or ecx, eax
mov dword [rbp - 0x50], ecx
jmp 0x140015455
mov ecx, r9d
shl eax, cl
mov ecx, dword [rbp - 0x50]
or r11d, eax
add r10d, ebx
sub r9d, 8
cmp r10d, edi
jl 0x14001542d
mov dword [rbp - 0x18], r11d
movabs rbx, 0xc81ecb17b1b54a58
mov r10d, ecx
xor r11d, 0x699a899c
xor r10d, 0x92f65a5
xor r9d, r9d
mov eax, r10d
mov ecx, r11d
test edi, edi
je 0x1400154c4
lea rbx, [r13 + 1]
mov qword [rbp - 0x68], rbx
cmp r9d, 4
jge 0x1400154a2
rol eax, 8
mov ebx, eax
jmp 0x1400154a7
rol ecx, 8
mov ebx, ecx
mov byte [r13], bl
inc r9d
mov rbx, qword [rbp - 0x68]
mov r13, rbx
cmp r9d, edi
jl 0x14001548d
movabs rbx, 0xc81ecb17b1b54a58
cmp edi, 4
jbe 0x1400154db
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x1400154fd
xor eax, eax
mov r11d, eax
cmp edi, 4
jae 0x1400154fd
lea ecx, [rax + 4]
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x1400154fd
or dword [rbp - 0x18], 0xffffffff
mov dword [rbp - 0x50], r10d
mov rax, r14
shr rax, 3
mov qword [rbp + 0x30], rax
test rax, rax
je 0x140015838
mov edx, dword [rbp + 0x8b4]
lea r12, [r13 + 7]
mov r13, qword [rbp + 0x30]
lea r14, [r8 + 2]
mov ebx, dword [rbp - 0x18]
mov r15d, dword [rbp - 0x50]
movzx eax, dx
mov dword [rsp + 0x70], eax
movzx eax, word [rbp + 0x8b2]
mov dword [rbp - 0x48], eax
movzx eax, si
mov dword [rbp - 0x68], eax
movzx eax, byte [r14 - 1]
mov edi, edx
movzx r9d, byte [r14 - 2]
movzx r8d, byte [r14 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r14]
lea r14, [r14 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r14 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r14 - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [r14 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r14 - 3]
shl r8d, 8
or r8d, eax
xor r11d, r8d
xor edi, r11d
mov r11d, dword [rsp + 0x70]
xor edi, r10d
xor edi, esi
mov ecx, edi
mov eax, edi
sub ecx, esi
rol eax, 0xa
rol ecx, 5
imul ecx, r11d
add ecx, eax
movzx eax, word [rbp + 0x8b2]
xor r10d, ecx
lea ecx, [r10 + rdx]
ror ecx, 9
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r11d
shr eax, 0xd
imul ecx, dword [rbp - 0x68]
sub ecx, eax
movzx eax, word [rbp + 0x8b6]
xor r10d, ecx
movzx ecx, word [rbp + 0x8b2]
xor ecx, r10d
rol ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, edx
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov ecx, r10d
ror ecx, 6
xor eax, r11d
imul eax, dword [rbp - 0x48]
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rdi + rdx]
ror ecx, 0xf
imul ecx, dword [rbp - 0x68]
add ecx, eax
xor r10d, ecx
mov ecx, r10d
sub ecx, esi
ror ecx, 0xe
movzx eax, word [rbp + 0x8b6]
imul ecx, eax
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
xor ecx, esi
ror eax, 0xa
ror ecx, 0xc
imul ecx, r11d
xor ecx, eax
movzx eax, word [rbp + 0x8b2]
xor r10d, ecx
movzx ecx, word [rbp + 0x8b6]
xor ecx, r10d
imul ecx, eax
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
movzx ecx, word [rbp + 0x8b6]
mov eax, edi
not eax
ror eax, 5
add eax, dword [rbp - 0x68]
imul eax, ecx
xor r10d, eax
mov r11d, r10d
sub r11d, ecx
xor r11d, edi
mov edi, dword [rsp + 0x70]
xor r11d, esi
xor ecx, r11d
mov eax, r11d
rol ecx, 2
imul ecx, edi
shr eax, 2
add ecx, eax
movzx eax, word [rbp + 0x8b2]
xor r10d, ecx
mov ecx, r10d
sub ecx, edx
ror ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov ecx, r11d
ror ecx, 9
xor eax, edi
imul eax, dword [rbp - 0x68]
add ecx, eax
movzx eax, word [rbp + 0x8b6]
xor r10d, ecx
movzx ecx, word [rbp + 0x8b2]
xor ecx, r10d
rol ecx, 5
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x8b2]
xor r10d, r11d
xor r10d, edx
xor r10d, esi
mov eax, r10d
ror eax, 3
sub eax, ecx
imul eax, edi
xor r11d, eax
mov ecx, r11d
mov eax, r11d
sub ecx, edx
ror ecx, 1
imul ecx, dword [rbp - 0x68]
ror eax, 6
sub ecx, eax
movzx eax, word [rbp + 0x8b6]
xor r10d, ecx
lea ecx, [r10 + rsi]
rol ecx, 3
imul ecx, eax
mov eax, r10d
rol eax, 0xe
add ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xe
lea ecx, [r11 + rsi]
rol ecx, 0xf
imul ecx, edi
sub ecx, eax
movzx eax, word [rbp + 0x8b2]
xor r10d, ecx
mov ecx, dword [rbp - 0x68]
xor ecx, r10d
imul ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
xor r11d, ebx
rol eax, 2
xor ecx, edx
mov ebx, r8d
rol ecx, 4
imul ecx, dword [rbp - 0x68]
xor ecx, eax
xor ecx, r15d
mov r15d, r9d
xor r10d, ecx
mov ecx, 1
mov byte [r12 - 4], r10b
mov byte [r12], r11b
lea r12, [r12 + 8]
ror r10d, 8
mov byte [r12 - 0xd], r10b
ror r11d, 8
mov byte [r12 - 9], r11b
ror r10d, 8
mov byte [r12 - 0xe], r10b
ror r11d, 8
mov byte [r12 - 0xa], r11b
ror r10d, 8
ror r11d, 8
mov byte [r12 - 0xf], r10b
mov byte [r12 - 0xb], r11b
ror r11d, 8
ror r10d, 8
sub r13, rcx
jne 0x140015541
mov dl, byte [rsp + 0x60]
movabs rbx, 0xc81ecb17b1b54a58
mov r15, qword [rbp - 0x38]
mov r14, qword [rbp - 0x30]
mov r12, qword [rbp - 8]
jmp 0x14001583d
mov ecx, 1
xor r10d, r10d
mov eax, r10d
test r14, r14
je 0x140015854
xor dl, byte [rax + r12]
add rax, rcx
cmp rax, r14
jb 0x140015848
mov rcx, qword [rbp - 0x40]
movzx eax, dl
cmp rax, qword [r14 + rcx]
je 0x140015870
mov rdi, qword [rbp + 0x208]
mov r14d, 0xc004d501
jmp 0x140015884
mov rdi, r12
mov qword [rbp + 0x208], r12
mov r15, r14
mov r12, r10
mov r14d, dword [rbp - 0x58]
test r12, r12
je 0x1400158b3
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rdi, qword [rbp + 0x208]
xor r10d, r10d
test r14d, r14d
js 0x1400158dc
mov r13, rdi
mov qword [rbp - 0x10], rdi
mov rdi, r10
mov qword [rbp + 0x208], r10
mov dword [rbp + 0x50], r15d
mov r14d, 0x10000000
jmp 0x1400158ea
mov rdi, qword [rbp + 0x208]
mov r15d, dword [rbp + 0x50]
mov r14d, 0xd0000001
mov r13, qword [rbp - 0x10]
mov dword [rbp - 0x18], r14d
test rdi, rdi
je 0x140015921
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r15d, dword [rbp + 0x50]
xor r10d, r10d
mov qword [rbp + 0x208], r10
test r14d, r14d
js 0x140014b83
cmp r15d, 4
jae 0x14001593b
mov r14d, 0xc000003e
jmp 0x140015a93
mov r8d, dword [r13]
lea rcx, [r13 + 4]
mov dword [rbp - 0x68], r8d
cmp rcx, r13
jb 0x140015a8d
lea eax, [r15 - 4]
cmp eax, 4
jb 0x140015930
mov r14d, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x140015a8d
lea eax, [r15 - 8]
cmp eax, r14d
jb 0x140015930
lea eax, [r14 + 8]
cmp eax, 8
jb 0x140015a8d
mov ecx, r15d
lea rdx, [r14 + rdi]
lea rax, [rcx + r13]
cmp rax, rdx
jb 0x140015930
sub rcx, r14
sub rcx, rdi
add rcx, r13
cmp rcx, 8
jae 0x140015930
mov r15, r10
mov r13d, r10d
test rdi, rdi
je 0x140015a0f
mov rcx, rdi
cmp rdx, rdi
jb 0x140015a8d
jbe 0x140015a0a
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x140015a8d
cmp rax, rdx
ja 0x1400159f7
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x140015a02
mov dword [rbp + 0x70], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x140015a8d
mov rcx, r8
cmp r8, rdx
ja 0x1400159f7
inc r13d
cmp rcx, rdx
jae 0x140015a0d
jmp 0x1400159b7
mov r14d, 0xc000000d
jmp 0x140015a93
mov r14d, 0xc0000095
jmp 0x140015a78
cmp rcx, rdx
jne 0x1400159f7
test r14d, r14d
je 0x140015a4a
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r14
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r15, rax
test rax, rax
jne 0x140015a4a
mov r14d, 0xc0000017
jmp 0x140015a78
test rdi, rdi
je 0x140015a60
mov r8, r14
mov rdx, rdi
mov rcx, r15
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov qword [rbp + 0x3c8], r15
mov dword [rbp + 0x3c4], r14d
mov dword [rbp + 0x3c0], r13d
mov r14d, r10d
test r14d, r14d
js 0x140015a93
mov eax, dword [rbp - 0x68]
cmp eax, dword [rbp + 0x3c0]
je 0x140015a93
jmp 0x140015930
mov r14d, 0xc0000095
bts r14d, 0x1c
jmp 0x14001538b
cmp dword [rbp + 0x3c0], r10d
jbe 0x140014dea
mov rdi, qword [rbp + 0x3c8]
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x140015aec
test ecx, ecx
mov dword [rbp + 0x74], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x218], rax
mov dword [rbp - 0x18], r10d
mov r14d, r10d
cmp ecx, 4
jne 0x140015d64
mov eax, dword [rax]
mov dword [rbp + 0x124], eax
jmp 0x140014df4
mov r11d, 0xc0000095
mov r14d, r11d
mov dword [rbp - 0x18], r11d
test r14d, r14d
js 0x140015f7e
mov r14d, dword [rbp + 0x124]
cmp r14d, 0xd0000023
cmove r14d, r13d
mov dword [rbp - 0x18], r14d
mov dword [rbp + 0x124], r14d
cmp r14d, r13d
je 0x140015b2d
test r14d, r14d
js 0x140015f7e
cmp dword [rbp + 0x3c0], 6
jne 0x140015d9d
cmp qword [rbp + 0x3c8], r10
jne 0x140015b4f
mov r14d, 0xc000000d
mov dword [rbp - 0x18], r14d
jmp 0x140015bb5
mov rax, qword [rbp + 0x3c8]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140015bae
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140015bae
add edx, r8d
cmp edx, r8d
jb 0x140015b59
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140015bae
test ecx, ecx
mov dword [rbp + 0x78], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x220], rax
mov dword [rbp - 0x18], r10d
mov r14d, r10d
cmp ecx, 8
jne 0x140015d64
mov rax, qword [rax]
mov qword [rbp + 0x228], rax
jmp 0x140015bb5
mov r14d, r11d
mov dword [rbp - 0x18], r11d
test r14d, r14d
js 0x140015f7e
cmp qword [rbp + 0x3c8], r10
jne 0x140015bd3
mov r14d, 0xc000000d
mov dword [rbp - 0x18], r14d
jmp 0x140015c37
mov rax, qword [rbp + 0x3c8]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140015c30
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140015c30
add edx, r8d
cmp edx, 2
jb 0x140015bdd
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140015c30
test ecx, ecx
mov dword [rbp + 0x7c], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x230], rax
mov dword [rbp - 0x18], r10d
mov r14d, r10d
cmp ecx, 4
jne 0x140015d64
mov eax, dword [rax]
mov dword [rbp + 0x80], eax
jmp 0x140015c37
mov r14d, r11d
mov dword [rbp - 0x18], r11d
test r14d, r14d
js 0x140015f7e
cmp qword [rbp + 0x3c8], r10
jne 0x140015c54
mov r14d, 0xc000000d
jmp 0x140015d6a
mov rax, qword [rbp + 0x3c8]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140015f77
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140015f77
add edx, r8d
cmp edx, 3
jb 0x140015c5e
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140015f77
test edi, edi
mov dword [rbp + 0x84], edi
mov r9, r10
cmovne r9, rcx
mov qword [rbp + 0x238], r9
mov rax, qword [rbp + 0x3c8]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140015d02
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140015d02
add edx, r8d
cmp edx, 4
jb 0x140015cb0
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140015d02
test ecx, ecx
mov dword [rbp + 0xb4], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x240], rax
mov dword [rbp - 0x18], r10d
mov r14d, r10d
cmp ecx, 4
jne 0x140015d64
mov eax, dword [rax]
mov dword [rbp + 0x8c], eax
jmp 0x140015d09
mov r14d, r11d
mov dword [rbp - 0x18], r11d
test r14d, r14d
js 0x140015f7e
mov rax, qword [rbp + 0x3c8]
mov edx, r10d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x140015d7d
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x140015d7d
add edx, r8d
cmp edx, 5
jb 0x140015d1c
mov ecx, dword [rax]
lea rdx, [rax + 4]
cmp rdx, rax
jb 0x140015d7d
test ecx, ecx
mov dword [rbp + 0x90], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x248], rax
mov dword [rbp - 0x18], r10d
mov r14d, r10d
cmp ecx, 4
je 0x140015d73
mov r14d, 0xc0000023
mov dword [rbp - 0x18], r14d
jmp 0x140015f7e
mov eax, dword [rax]
mov dword [rbp + 0x120], eax
jmp 0x140015d84
mov r14d, r11d
mov dword [rbp - 0x18], r11d
test r14d, r14d
js 0x140015f7e
mov rax, qword [rbp + 0x228]
cmp qword [rbp + 0x190], rax
je 0x140015da5
mov r14d, 0xc004d501
jmp 0x140015d6a
mov eax, dword [rbp + 0x120]
mov ecx, dword [rbp + 0x8c]
mov dword [rbp + 0xbc], eax
mov eax, dword [rbp + 0x80]
mov dword [rbp + 0xb0], eax
mov dword [rbp + 0xb8], ecx
cmp ecx, 4
ja 0x140015dd3
cmp edi, 4
jbe 0x140015ddf
mov r14d, r13d
mov dword [rbp - 0x18], r13d
jmp 0x140015f7e
mov rcx, qword [rsp + 0x68]
mov r8, rdi
mov rdx, r9
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r13, qword [rsp + 0x78]
xor r10d, r10d
mov r12, qword [rbp - 0x78]
test r14d, r14d
js 0x140015e10
mov eax, dword [rbp + 0x124]
test eax, eax
cmovne r14d, eax
mov dword [rbp - 0x18], r14d
and qword [rbp + 0x3b0], 0
mov rdi, qword [rbp + 0x3b8]
test rdi, rdi
je 0x140015e4e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x3b8], r10
and qword [rbp + 0x3c0], 0
mov rdi, qword [rbp + 0x3c8]
test rdi, rdi
je 0x140015e8c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x3c8], r10
test r13, r13
je 0x140015eb4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r12, r12
je 0x140015edc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r14d, r14d
js 0x14001354f
mov eax, dword [rbp + 0xbc]
test eax, eax
je 0x14001c6f6
mov edi, 0x104
mov qword [rbp + 0x250], r10
mov r8d, edi
mov dword [0x140032070], eax
lea rdx, [rbp + 0xf10]
lea rcx, [0x140000000]
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
nop dword [rax + rax]
xor r13d, r13d
test eax, eax
je 0x14001a5a6
cmp eax, edi
jne 0x140015f46
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 0x7a
je 0x14001a5a6
mov rax, qword [0x1400300f8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
call qword [0x1400270f0]
mov qword [rbp + 0x30], rax
test rax, rax
jne 0x140015fab
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x14001a5a6
mov dword [rbp - 0x18], r11d
mov r14d, r11d
mov r13, qword [rsp + 0x78]
mov r12, qword [rbp - 0x78]
jmp 0x140015e10
mov r14d, r11d
mov dword [rbp - 0x18], r11d
jmp 0x140015e10
or qword [rbp + 0x1a8], 0xffffffffffffffff
mov r14d, 0xc0000095
jmp 0x140015e0c
mov rax, qword [0x140030098]
call qword [0x1400270f0]
mov edi, dword [0x140032070]
lea rcx, [rbp + 0x840]
xor edx, edx
mov qword [0x1400325b0], rax
mov dword [rbp - 0x68], edi
lea r8d, [rdx + 0x70]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xorps xmm0, xmm0
mov qword [rbp - 8], r13
xor eax, eax
mov qword [rbp - 0x38], r13
mov ecx, 1
mov qword [rbp + 0xa00], rax
movups xmmword [rbp + 0x920], xmm0
mov dword [rbp + 0x94], ecx
movups xmmword [rbp + 0x9e0], xmm0
mov dword [rbp + 0xa08], eax
movups xmmword [rbp + 0x9f0], xmm0
mov qword [rbp - 0x40], r13
xor eax, eax
lock cmpxchg dword [0x1400325c0], ecx
jne 0x140016018
mov eax, dword [0x1400325bc]
test eax, eax
jne 0x14001662f
mov dword [rbp - 0x58], r13d
mov dword [rsp + 0x70], r13d
mov qword [rbp + 0x258], r13
mov qword [rbp + 0x260], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140016588
or r12d, 0xffffffff
lea rsi, [rax + 7]
xor edx, edx
lea rbx, [0x14002a292]
mov edi, r13d
mov r15d, edx
lea ecx, [rdx + 1]
lea r14d, [rdx + 0x67]
movzx eax, byte [rbx - 1]
movzx r11d, byte [rbx - 2]
movzx r10d, byte [rbx + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 5]
or r10d, eax
xor r15d, r11d
movzx eax, byte [rbx - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 3]
shl r10d, 8
or r10d, eax
mov r9d, r10d
xor r9d, r13d
xor r9d, r15d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r9d
rol eax, 0xa
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 2
sub edx, eax
xor r9d, edx
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r15d, edx
mov eax, r15d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r9d, edx
mov edx, r9d
xor edx, 0xab69605e
sub eax, edx
xor r15d, eax
mov eax, r15d
mov r8d, r15d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 8
sub edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov r9d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r9d
imul eax, eax, 0x7f1
xor r15d, eax
lea r13d, [r15 - 0x7f1]
xor r13d, edx
xor r13d, r8d
mov eax, r13d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r13d
shr eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 7
add edx, eax
xor r13d, edx
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r15d, r8d
mov eax, r15d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 7
add edx, eax
xor r13d, edx
xor r15d, r13d
xor r15d, 0xac987321
mov eax, r15d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r13d
ror eax, 6
sub edx, eax
xor r15d, edx
lea eax, [r15 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 0xe
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r13d
ror eax, 0xe
sub edx, eax
xor r15d, edx
mov eax, r15d
xor eax, r9d
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 3
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r13d
xor r13d, r12d
rol eax, 2
mov r12d, r10d
xor edx, eax
xor edx, edi
mov edi, r11d
xor r15d, edx
mov byte [rsi - 4], r15b
mov byte [rsi], r13b
lea rsi, [rsi + 8]
ror r15d, 8
mov byte [rsi - 0xd], r15b
ror r13d, 8
mov byte [rsi - 9], r13b
ror r15d, 8
mov byte [rsi - 0xe], r15b
ror r13d, 8
mov byte [rsi - 0xa], r13b
ror r15d, 8
ror r13d, 8
mov byte [rsi - 0xf], r15b
mov byte [rsi - 0xb], r13b
ror r13d, 8
ror r15d, 8
sub r14, rcx
jne 0x140016098
mov edi, dword [rbp - 0x68]
xor edx, edx
mov r14d, dword [rbp - 0x18]
mov eax, edx
mov r15, qword [rsp + 0x68]
mov cl, dl
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
lea r8d, [rdx + 1]
mov r12d, edx
mov r9d, 0x338
xor cl, byte [rax + r15]
add rax, r8
cmp rax, r9
jb 0x1400163c1
movzx eax, cl
cmp rax, qword [0x14002a5c8]
je 0x1400163e1
mov r13d, 0xc004d501
jmp 0x1400163f5
mov qword [rbp + 0x258], r15
mov r13d, edx
mov r15, rdx
mov qword [rbp + 0x260], r9
test r15, r15
je 0x14001641c
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor edx, edx
test r13d, r13d
js 0x140016585
mov rax, qword [rbp + 0x260]
lea r13, [0x140032080]
mov r15, qword [rbp + 0x258]
mov rcx, r13
mov byte [rax + r15 - 1], dl
xor edx, edx
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r8d, r8d
cmp byte [r15], r8b
je 0x140016580
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r8w
jne 0x140016460
lea r15, [r15 + rax*2]
mov eax, dword [rsp + 0x70]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r8d, r8d
test eax, eax
je 0x140016585
mov rax, qword [r13]
mov ecx, 0x5a4d
mov r12d, r8d
cmp word [rax], cx
je 0x1400164b0
mov r12d, 0xc000007b
jmp 0x1400164fe
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x1400164a8
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x1400164a8
cmp dword [rcx], 0x4550
jne 0x1400164a8
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x1400164ec
mov r12d, 0xc000000d
jmp 0x1400164fe
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r15 + 2]
mov ecx, r8d
add r15, 6
mov dword [rbp - 0x50], eax
mov dword [rbp - 0x48], ecx
test eax, eax
je 0x14001656b
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r8b
jne 0x14001651a
inc r15
add r15, rax
test r12d, r12d
js 0x140016557
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r8d, r8d
test rax, rax
je 0x140016580
mov ecx, dword [rbp - 0x58]
lea rdx, section..data
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x48]
mov eax, 1
add dword [rbp - 0x58], eax
add ecx, eax
mov dword [rbp - 0x48], ecx
cmp ecx, dword [rbp - 0x50]
jb 0x140016513
jmp 0x140016570
mov eax, 1
add dword [rsp + 0x70], eax
lea r13, [0x140032080]
jmp 0x140016450
xor r13d, r13d
jmp 0x14001658e
xor r13d, r13d
mov r12d, 0xc000007a
mov r15, qword [rbp + 0x258]
test r15, r15
je 0x1400165ba
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r12d, r12d
jns 0x140016624
mov eax, 1
lea r15, [0x140032080]
lea r12d, [rax + 3]
mov rcx, qword [r15]
test rcx, rcx
je 0x1400165e8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
mov eax, 1
add r15, 0x18
sub r12, rax
jne 0x1400165cf
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x140032080]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
lea ecx, [r12 + 1]
jmp 0x140016637
mov eax, dword [0x1400325bc]
mov ecx, 1
add eax, ecx
mov dword [0x1400325bc], eax
mov eax, r13d
mov dword [rbp - 0x58], r13d
xchg dword [0x1400325c0], eax
xorps xmm0, xmm0
mov qword [rbp + 0x268], r13
movups xmmword [rbp + 0x930], xmm0
mov dword [rbp - 0x50], r13d
mov qword [rsp + 0x68], r13
mov qword [rbp - 0x78], r13
mov qword [rsp + 0x78], r13
xor eax, eax
lock cmpxchg dword [0x1400325c0], ecx
jne 0x140016667
mov eax, dword [0x1400325bc]
test eax, eax
jne 0x140016c87
mov dword [rsp + 0x70], r13d
mov dword [rbp - 0x48], r13d
mov dword [rbp - 0x30], r13d
mov qword [rbp + 0x270], r13
mov qword [rbp + 0x278], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x70], rax
test rax, rax
je 0x140016bde
or r12d, 0xffffffff
mov byte [rsp + 0x60], r13b
xor edx, edx
lea rsi, [rax + 7]
mov edi, r13d
lea rbx, [0x14002a292]
mov r15d, edx
lea ecx, [rdx + 1]
lea r14d, [rdx + 0x67]
movzx eax, byte [rbx - 1]
movzx r11d, byte [rbx - 2]
movzx r10d, byte [rbx + 2]
shl r11d, 8
or r11d, eax
shl r10d, 8
movzx eax, byte [rbx]
lea rbx, [rbx + 8]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 7]
shl r11d, 8
or r11d, eax
movzx eax, byte [rbx - 5]
or r10d, eax
xor r15d, r11d
movzx eax, byte [rbx - 4]
shl r10d, 8
or r10d, eax
movzx eax, byte [rbx - 3]
shl r10d, 8
or r10d, eax
mov r9d, r10d
xor r9d, r13d
xor r9d, r15d
xor r9d, 0xac987321
lea eax, [r9 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r9d
rol eax, 0xa
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 2
sub edx, eax
xor r9d, edx
imul edx, r9d, 0x605e
mov eax, r9d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r15d, edx
mov eax, r15d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r9d, edx
mov edx, r9d
xor edx, 0xab69605e
sub eax, edx
xor r15d, eax
mov eax, r15d
mov r8d, r15d
xor eax, 0x137f
ror r8d, 6
imul edx, eax, 0xab69
xor r8d, edx
xor r9d, r8d
lea eax, [r9 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r9d
rol eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 8
sub edx, eax
xor r9d, edx
mov eax, r9d
mov r8d, 0xab69605e
xor eax, r8d
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r9d
ror eax, 0xa
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 0xa
xor edx, eax
xor edx, r9d
mov r9d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r9d
imul eax, eax, 0x7f1
xor r15d, eax
lea r13d, [r15 - 0x7f1]
xor r13d, edx
xor r13d, r8d
mov eax, r13d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r13d
shr eax, 2
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r15d
rol eax, 7
add edx, eax
xor r13d, edx
mov eax, r13d
mov r8d, r13d
xor eax, 0x137f
ror r8d, 9
imul edx, eax, 0x605e
add r8d, edx
xor r15d, r8d
mov eax, r15d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 7
add edx, eax
xor r13d, edx
xor r15d, r13d
xor r15d, 0xac987321
mov eax, r15d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r13d, edx
lea eax, [r13 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r13d
ror eax, 6
sub edx, eax
xor r15d, edx
lea eax, [r15 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r15d
rol eax, 0xe
add edx, eax
xor r13d, edx
lea eax, [r13 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r13d
ror eax, 0xe
sub edx, eax
xor r15d, edx
mov eax, r15d
xor eax, r9d
imul edx, eax, 0xab69
mov eax, r15d
shr eax, 3
xor edx, eax
xor r13d, edx
mov eax, r13d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r13d
xor r13d, r12d
rol eax, 2
mov r12d, r10d
xor edx, eax
xor edx, edi
mov edi, r11d
xor r15d, edx
mov byte [rsi - 4], r15b
mov byte [rsi], r13b
lea rsi, [rsi + 8]
ror r15d, 8
mov byte [rsi - 0xd], r15b
ror r13d, 8
mov byte [rsi - 9], r13b
ror r15d, 8
mov byte [rsi - 0xe], r15b
ror r13d, 8
mov byte [rsi - 0xa], r13b
ror r15d, 8
ror r13d, 8
mov byte [rsi - 0xf], r15b
mov byte [rsi - 0xb], r13b
ror r13d, 8
ror r15d, 8
sub r14, rcx
jne 0x1400166ef
mov cl, byte [rsp + 0x60]
xor r8d, r8d
mov edi, dword [rbp - 0x68]
mov eax, r8d
mov r14d, dword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
mov r12d, dword [rbp - 0x48]
movabs rsi, 0x7f1137fab69605e
mov r15, qword [rbp - 0x70]
lea edx, [r8 + 1]
mov r9d, 0x338
xor cl, byte [rax + r15]
add rax, rdx
cmp rax, r9
jb 0x140016a1c
movzx eax, cl
cmp rax, qword [0x14002a5c8]
je 0x140016a3c
mov r13d, 0xc004d501
jmp 0x140016a50
mov qword [rbp + 0x270], r15
mov r13d, r12d
mov r15, r8
mov qword [rbp + 0x278], r9
test r15, r15
je 0x140016a78
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r8d, r8d
test r13d, r13d
js 0x140016be1
mov rax, qword [rbp + 0x278]
lea r13, [0x140032080]
mov r15, qword [rbp + 0x270]
xor edx, edx
mov rcx, r13
mov byte [rax + r15 - 1], r8b
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r8d, r8d
jmp 0x140016bd3
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], r8w
jne 0x140016ab8
lea r15, [r15 + rax*2]
mov eax, dword [rbp - 0x30]
lea rcx, [rax + rax*2]
lea r13, [r13 + rcx*8]
xor ecx, ecx
mov r8, r13
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r8d, r8d
test eax, eax
je 0x140016be1
mov rax, qword [r13]
mov ecx, 0x5a4d
mov r12d, r8d
cmp word [rax], cx
je 0x140016b07
mov r12d, 0xc000007b
jmp 0x140016b55
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x140016aff
add rcx, qword [r13]
cmp rcx, qword [r13]
jb 0x140016aff
cmp dword [rcx], 0x4550
jne 0x140016aff
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x140016b43
mov r12d, 0xc000000d
jmp 0x140016b55
mov rax, qword [rcx + 0x88]
mov qword [r13 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r13 + 8], eax
mov eax, dword [r15 + 2]
mov ecx, r8d
add r15, 6
mov dword [rbp - 0x10], eax
mov dword [rbp - 0x68], ecx
test eax, eax
je 0x140016bc4
mov rdx, r15
or rax, 0xffffffffffffffff
inc rax
cmp byte [r15 + rax], r8b
jne 0x140016b71
inc r15
add r15, rax
test r12d, r12d
js 0x140016baf
mov rcx, qword [r13]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r8d, r8d
test rax, rax
je 0x140016be7
mov ecx, dword [rsp + 0x70]
lea rdx, section..data
mov qword [rdx + rcx*8], rax
mov ecx, dword [rbp - 0x68]
mov eax, 1
add dword [rsp + 0x70], eax
add ecx, eax
mov dword [rbp - 0x68], ecx
cmp ecx, dword [rbp - 0x10]
jb 0x140016b6a
jmp 0x140016bc9
mov eax, 1
add dword [rbp - 0x30], eax
lea r13, [0x140032080]
cmp byte [r15], r8b
jne 0x140016ab1
jmp 0x140016be7
xor r8d, r8d
mov r12d, 0xc000007a
mov r15, qword [rbp + 0x270]
test r15, r15
je 0x140016c16
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r8d, r8d
test r12d, r12d
jns 0x140016c7c
mov eax, 1
lea r13, [0x140032080]
mov r15, r13
lea r12d, [rax + 3]
mov rcx, qword [r15]
test rcx, rcx
je 0x140016c49
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor r8d, r8d
lea eax, [r8 + 1]
add r15, 0x18
sub r12, rax
jne 0x140016c2e
xor edx, edx
lea r8d, [r12 + 0x60]
mov rcx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x140016c8f
mov eax, dword [0x1400325bc]
mov ecx, 1
add eax, ecx
mov dword [0x1400325bc], eax
mov r13d, edi
xor r12d, r12d
mov eax, r12d
xorps xmm0, xmm0
xchg dword [0x1400325c0], eax
mov eax, edi
xor edx, edx
shr eax, 4
lea ecx, [r12 + 0xf]
and ax, cx
and r13d, ecx
mov word [rbp + 0xe10], ax
mov r8d, 0x403
mov eax, edi
mov dword [rbp - 0x10], r13d
shr eax, 8
and ax, cx
shr edi, 0xc
and di, cx
mov word [rbp + 0xe12], ax
mov rax, qword [0x1400300f8]
xor ecx, ecx
movups xmmword [rbp + 0x920], xmm0
mov word [rbp + 0xe14], di
call qword [0x1400270f0]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x30], 0xffffff
test rax, rax
jne 0x140016d37
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14001825d
mov r15d, 0x80004005
jmp 0x14001825d
mov rax, qword [0x1400300a0]
lea r9, [rbp + 0xa0]
xor r8d, r8d
mov qword [rbp + 0x280], r12
lea rdx, [rbp + 0xa4]
mov qword [rbp + 0x288], r12
mov qword [rbp + 0x290], r12
mov r15d, r12d
mov qword [rbp + 0x298], r12
lea ecx, [r8 + 8]
mov qword [rbp + 0x2a0], r12
mov qword [rbp + 0x1e0], r12
mov dword [rbp + 0xa0], r12d
call qword [0x1400270f0]
test eax, eax
jne 0x140016dc2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140016f29
mov r15d, 0x80004005
jmp 0x140016f29
mov edi, dword [rbp + 0xa0]
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x2a0]
mov rdi, rax
call fcn.140020a4c
test rdi, rdi
jne 0x140016e11
mov qword [rbp + 0x2a0], r12
mov r15d, 0x8007000e
jmp 0x140016f29
mov qword [rbp + 0x2a0], rdi
mov edi, dword [rbp + 0xa4]
inc edi
shl rdi, 2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x1e0]
mov rdi, rax
call fcn.140020a4c
test rdi, rdi
jne 0x140016e63
mov r15d, 0x8007000e
jmp 0x140016f22
mov r8, qword [rbp + 0x2a0]
lea r9, [rbp + 0xa0]
mov rax, qword [0x1400300a0]
lea rdx, [rbp + 0xa4]
mov ecx, 8
mov qword [rbp + 0x1e0], rdi
call qword [0x1400270f0]
test eax, eax
je 0x140016d91
mov rdi, qword [rbp + 0x2a0]
xor eax, eax
mov r13d, eax
mov r12, qword [rbp + 0x1e0]
cmp dword [rbp + 0xa4], eax
jbe 0x140016efe
lea ebx, [rax + 1]
mov rax, qword [0x1400300b0]
xor edx, edx
mov rcx, rdi
call qword [0x1400270f0]
mov dword [r12], eax
or rax, 0xffffffffffffffff
xor ecx, ecx
inc rax
cmp word [rdi + rax*2], cx
jne 0x140016ed3
lea rdi, [rdi + rax*2]
add r12, 4
add rdi, 2
add r13d, ebx
cmp r13d, dword [rbp + 0xa4]
jb 0x140016eb7
movabs rbx, 0xc81ecb17b1b54a58
mov dword [r12], 0x409
xor r12d, r12d
mov rax, qword [rbp + 0x1e0]
mov qword [rbp + 0x280], rax
mov eax, dword [rbp + 0xa4]
inc eax
mov dword [rbp - 0x68], eax
mov qword [rbp + 0x1e0], r12
lea rcx, [rbp + 0x1e0]
call fcn.140020a4c
lea rcx, [rbp + 0x2a0]
call fcn.140020a4c
test r15d, r15d
js 0x1400176d2
lea r11, [0x14002a160]
mov r10d, r12d
mov r9d, r12d
mov dword [rsp + 0x70], r12d
cmp dword [rbp - 0x68], r12d
jbe 0x140016fa0
mov rax, qword [rbp + 0x280]
mov r8, r12
mov edx, r12d
mov rdi, r11
mov ecx, dword [rdi]
cmp dword [rax + r8], ecx
je 0x140016f99
mov ecx, 1
add rdi, 4
add edx, ecx
cmp edx, 0x26
jb 0x140016f72
add r9d, ecx
add r8, 4
cmp r9d, dword [rbp - 0x68]
jae 0x140016fa0
jmp 0x140016f6c
mov r10d, edx
mov dword [rsp + 0x70], edx
mov rax, qword [0x1400300a8]
lea rdx, [rbp + 0xe60]
mov edi, r10d
xor r9d, r9d
mov dword [rbp - 0x68], r12d
mov ecx, dword [r11 + rdi*4]
lea r8d, [r9 + 0x55]
call qword [0x1400270f0]
test eax, eax
je 0x14001700d
mov rax, qword [0x140030090]
lea r8, [rbp + 0x970]
mov r9d, 0x10
lea rcx, [rbp + 0xe60]
lea edx, [r9 + 0x48]
call qword [0x1400270f0]
mov r9d, 1
test eax, eax
jle 0x140017013
mov r15d, dword [rbp + 0x97c]
shr r15d, 0x1b
and r15d, r9d
mov dword [rbp - 0x68], r15d
jmp 0x140017013
mov r9d, 1
lea rcx, str.Segoe_UI_Light
mov r8d, 0x13
lea rdx, [rbp + 0xd70]
mov qword [rdx], rcx
or rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], r12w
jne 0x14001702e
lea rcx, [rcx + rax*2]
add rdx, 8
add rcx, 2
sub r8, r9
jne 0x140017027
lea rcx, [rdi + rdi*2]
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0x2a200]
mov rax, qword [rbp + rax*8 + 0xd70]
mov qword [rsp + 0x68], rax
movzx eax, byte [rcx + rdx + 0x2a201]
mov rax, qword [rbp + rax*8 + 0xd70]
mov qword [rbp - 0x78], rax
movzx eax, byte [rcx + rdx + 0x2a202]
mov rax, qword [rbp + rax*8 + 0xd70]
mov qword [rsp + 0x78], rax
mov dword [rbp - 0x48], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x1c90
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov qword [rbp - 0x80], rax
test rax, rax
je 0x14001752a
or dword [rbp - 0x60], 0xffffffff
lea rsi, [0x1400284c2]
mov r13d, dword [rbp - 0x60]
mov r14d, r12d
mov r11d, r12d
mov r10d, r12d
lea r12, [rax + 7]
mov ebx, 0x392
mov r15d, 1
movzx eax, byte [rsi - 1]
movzx r9d, byte [rsi - 2]
movzx r8d, byte [rsi + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [rsi]
lea rsi, [rsi + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [rsi - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [rsi - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [rsi - 3]
shl r8d, 8
or r8d, eax
mov edi, r8d
xor edi, r11d
xor edi, r10d
xor edi, 0xac987321
lea eax, [rdi + 0x54969fa2]
rol eax, 5
imul ecx, eax, 0x137f
mov eax, edi
rol eax, 0xa
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x7f1137f]
ror eax, 9
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 2
sub ecx, eax
xor edi, ecx
imul ecx, edi, 0x605e
mov eax, edi
shr eax, 0xd
sub ecx, eax
sub ecx, 0x756c8a2
xor r10d, ecx
mov eax, r10d
xor eax, 0xab69
rol eax, 6
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 2
sub ecx, eax
mov eax, 0x7f1137f
xor edi, ecx
mov ecx, edi
xor ecx, 0xab69605e
sub eax, ecx
xor r10d, eax
mov eax, r10d
mov edx, r10d
xor eax, 0x137f
ror edx, 6
imul ecx, eax, 0xab69
xor edx, ecx
xor edi, edx
lea eax, [rdi + 0x7f1137f]
ror eax, 0xf
imul ecx, eax, 0x605e
mov eax, edi
rol eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 + 0x54969fa2]
ror eax, 0xe
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov eax, edi
mov edx, 0xab69605e
xor eax, edx
ror eax, 0xc
imul ecx, eax, 0x137f
mov eax, edi
ror eax, 0xa
xor ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x7f1
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, 0x605e
imul eax, eax, 0x7f1
xor r10d, eax
lea r11d, [r10 - 0x7f1]
xor r11d, edi
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
rol eax, 2
imul ecx, eax, 0x137f
mov eax, r11d
shr eax, 2
add ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x7f1137f]
ror eax, 6
imul ecx, eax, 0xab69
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
mov eax, r11d
mov edx, r11d
xor eax, 0x137f
ror edx, 9
imul ecx, eax, 0x605e
add edx, ecx
xor r10d, edx
mov eax, r10d
xor eax, 0xab69
rol eax, 5
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 7
add ecx, eax
xor r11d, ecx
xor r10d, r11d
xor r10d, 0xac987321
mov eax, r10d
ror eax, 3
imul ecx, eax, 0x137f
sub ecx, 0xd0dd417
xor r11d, ecx
lea eax, [r11 - 0x7f1137f]
ror eax, 1
imul ecx, eax, 0x605e
mov eax, r11d
ror eax, 6
sub ecx, eax
xor r10d, ecx
lea eax, [r10 - 0x54969fa2]
rol eax, 3
imul ecx, eax, 0x7f1
mov eax, r10d
rol eax, 0xe
add ecx, eax
xor r11d, ecx
lea eax, [r11 - 0x54969fa2]
rol eax, 0xf
imul ecx, eax, 0x137f
mov eax, r11d
ror eax, 0xe
sub ecx, eax
xor r10d, ecx
mov eax, r10d
xor eax, 0x605e
imul ecx, eax, 0xab69
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov eax, r11d
xor eax, 0x7f1137f
rol eax, 4
imul ecx, eax, 0x605e
mov eax, r11d
xor r11d, r13d
rol eax, 2
mov r13d, r8d
xor ecx, eax
xor ecx, r14d
mov r14d, r9d
xor r10d, ecx
mov byte [r12 - 4], r10b
mov byte [r12], r11b
lea r12, [r12 + 8]
ror r10d, 8
mov byte [r12 - 0xd], r10b
ror r11d, 8
mov byte [r12 - 9], r11b
ror r10d, 8
mov byte [r12 - 0xe], r10b
ror r11d, 8
mov byte [r12 - 0xa], r11b
ror r10d, 8
ror r11d, 8
mov byte [r12 - 0xf], r10b
mov byte [r12 - 0xb], r11b
ror r11d, 8
ror r10d, 8
sub rbx, r15
jne 0x1400170ed
mov r14d, dword [rbp - 0x18]
xor r12d, r12d
mov r15d, dword [rbp - 0x48]
mov eax, r12d
mov r13, qword [rbp - 0x80]
xorps xmm1, xmm1
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov ecx, 0x1c90
movdqu xmm0, xmmword [rax + r13]
add rax, 0x10
pxor xmm0, xmm1
movdqa xmm1, xmm0
cmp rax, rcx
jb 0x140017404
psrldq xmm0, 8
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 2
pxor xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 1
pxor xmm1, xmm0
movd eax, xmm1
movzx eax, al
cmp rax, qword [0x14002a150]
je 0x140017463
mov r15d, 0xc004d501
jmp 0x140017474
mov qword [rbp + 0x288], r13
mov r13, r12
mov qword [rbp + 0x290], rcx
test r13, r13
je 0x140017499
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
test r15d, r15d
js 0x1400176d2
mov rdx, qword [rbp + 0x288]
lea rdi, [rbp + 0xd00]
mov r9d, dword [rsp + 0x70]
mov r8d, 6
lea r13d, [r8 - 5]
mov ecx, r12d
cmp r9d, ecx
jne 0x1400174ca
mov qword [rdi], rdx
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r12b
jne 0x1400174ce
inc rdx
add ecx, r13d
add rdx, rax
cmp ecx, 0x26
jb 0x1400174c2
add rdi, 8
sub r8, r13
jne 0x1400174bf
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
lea rcx, [rbp + 0x298]
mov rdi, rax
call fcn.140020a4c
test rdi, rdi
jne 0x140017535
mov qword [rbp + 0x298], r12
mov r15d, 0x8007000e
jmp 0x1400176d2
mov qword [rbp + 0x298], rdi
lea rcx, [rbp + 0xe10]
xor eax, eax
mov qword [rbp - 0x80], rcx
xorps xmm0, xmm0
mov edx, r12d
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], rax
xor edi, edi
mov dword [rbp - 0x60], edx
mov eax, edi
movzx edi, word [rcx]
lea rcx, [0x14002a278]
cmp di, word [rcx]
je 0x14001757f
add eax, r13d
add rcx, 2
cmp eax, 6
jb 0x140017567
xor edi, edi
jmp 0x14001765a
mov r13, qword [rbp + rax*8 + 0xd00]
or rcx, 0xffffffffffffffff
xor edi, edi
inc rcx
cmp byte [rcx + r13], dil
jne 0x14001758d
mov rax, qword [0x1400300c0]
mov r9d, 1
add r9d, ecx
mov dword [rsp + 0x28], edi
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdi
mov r8, r13
xor edx, edx
call qword [0x1400270f0]
mov dword [rsp + 0x70], eax
test eax, eax
je 0x1400176a7
movsxd rdi, eax
add rdi, rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x298]
xor edi, edi
mov qword [rcx + r12], rax
mov rcx, qword [rbp + 0x298]
cmp qword [rcx + r12], rdi
je 0x14001769c
mov rdx, qword [rcx + r12]
or rcx, 0xffffffffffffffff
inc rcx
cmp byte [rcx + r13], dil
jne 0x140017617
mov eax, dword [rsp + 0x70]
mov r9d, 1
mov dword [rsp + 0x28], eax
add r9d, ecx
mov rax, qword [0x1400300c0]
mov ecx, 0xfde9
mov qword [rsp + 0x20], rdx
mov r8, r13
xor edx, edx
call qword [0x1400270f0]
test eax, eax
je 0x1400176a7
mov edx, dword [rbp - 0x60]
mov r13d, 1
mov rcx, qword [rbp - 0x80]
add edx, r13d
add rcx, 2
mov dword [rbp - 0x60], edx
add r12, 8
mov qword [rbp - 0x80], rcx
cmp edx, 3
jb 0x14001755b
mov rax, qword [rbp + 0x298]
xor r12d, r12d
mov qword [rbp + 0x268], rax
mov eax, dword [rbp - 0x68]
mov dword [rbp + 0x840], eax
mov qword [rbp + 0x298], r12
jmp 0x1400176d2
mov r15d, 0x8007000e
xor r12d, r12d
jmp 0x1400176d2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400176d2
mov r15d, 0x80004005
cmp qword [rbp + 0x298], r12
je 0x140017755
xor edx, edx
lea eax, [rdx + 1]
lea r13d, [rdx + 3]
mov rcx, qword [rbp + 0x298]
cmp qword [rcx + r12], rdx
je 0x140017749
mov rax, qword [rcx + r12]
or rcx, 0xffffffffffffffff
inc rcx
cmp word [rax + rcx*2], dx
jne 0x1400176f9
mov rdi, qword [rbp + 0x298]
lea rcx, [rcx*2 + 2]
xor eax, eax
mov rdi, qword [rdi + r12]
rep stosb byte [rdi], al
mov rax, qword [rbp + 0x298]
mov rdi, qword [rax + r12]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor edx, edx
lea eax, [rdx + 1]
add r12, 8
sub r13, rax
jne 0x1400176e4
xor r12d, r12d
mov rdi, qword [rbp + 0x288]
test rdi, rdi
je 0x14001776c
mov rcx, qword [rbp + 0x290]
xor eax, eax
rep stosb byte [rdi], al
lea rcx, [rbp + 0x298]
call fcn.140020a4c
lea rcx, [rbp + 0x288]
call fcn.140020a4c
lea rcx, [rbp + 0x280]
call fcn.140020a4c
test r15d, r15d
js 0x140018246
mov rax, qword [rbp + 0x268]
lea r8, [rbp + 0x3d0]
xor edx, edx
xorps xmm0, xmm0
xor r9d, r9d
mov edi, r12d
mov r15d, r12d
mov rcx, qword [rax]
mov qword [rbp + 0x848], rcx
mov rcx, qword [rax + 8]
mov qword [rbp + 0x850], rcx
mov rcx, qword [rax + 0x10]
mov rax, qword [0x140030168]
mov qword [rbp + 0x858], rcx
lea ecx, [rdx + 0x42]
movups xmmword [rbp + 0x3d0], xmm0
mov dword [rbp + 0x3d0], 0x10
call qword [0x1400270f0]
test eax, eax
jne 0x140017824
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14001782d
mov r15d, 0x80004005
jmp 0x14001782d
mov edi, dword [rbp + 0x3d4]
and edi, 1
mov r13d, dword [rbp - 0x10]
mov dword [rbp + 0x844], edi
test r15d, r15d
js 0x14001824a
mov ecx, r13d
mov eax, 0x2a
mov dword [rbp - 0x60], eax
sub ecx, 1
je 0x140017873
sub ecx, 1
je 0x14001786a
cmp ecx, 1
jne 0x14001787d
mov r15d, 0xe1
mov dword [rbp - 0x58], r15d
mov dword [rbp - 0x50], r15d
jmp 0x14001787d
mov dword [rbp - 0x58], 0xf
jmp 0x140017876
mov dword [rbp - 0x58], eax
mov dword [rbp - 0x50], 0xb
mov edi, 0x60
lea rcx, [rbp + 0xc20]
xor edx, edx
mov dword [rbp - 0x68], edi
lea r15d, [rdi + 0x7c]
mov r8d, r15d
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400300e0]
lea r8, [rbp + 0xc20]
or edx, 0xffffffff
mov word [rbp + 0xc64], r15w
xor ecx, ecx
call qword [0x1400270f0]
test eax, eax
je 0x1400178ea
mov eax, dword [rbp + 0xccc]
movzx edi, word [rbp + 0xcc6]
mov dword [rbp + 0x938], eax
mov eax, dword [rbp + 0xcd0]
mov dword [rbp + 0x93c], eax
lea eax, [r15 - 0x7c]
cmp edi, eax
cmovb edi, eax
mov dword [rbp - 0x68], edi
mov eax, 1
lea rcx, [rbp + 0xb00]
cmp r13d, eax
mov rax, qword [rsp + 0x78]
cmove rax, qword [rsp + 0x68]
xor edx, edx
mov qword [rsp + 0x78], rax
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400300f8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r15d, r12d
call qword [0x1400270f0]
mov r12, rax
test rax, rax
jne 0x14001796a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x14001824a
mov r15d, 0x80004005
jmp 0x14001824a
mov ecx, dword [rbp - 0x58]
mov r8d, 0x48
mov rax, qword [0x1400300b8]
mov edx, edi
call qword [0x1400270f0]
mov r8, qword [rsp + 0x78]
lea rcx, [rbp + 0xb1c]
neg eax
mov dword [rbp + 0xb10], 0x190
mov edx, 0x20
mov dword [rbp + 0xb00], eax
mov byte [rbp + 0xb1a], 5
call fcn.14000173c
mov rax, qword [0x140030020]
lea rcx, [rbp + 0xb00]
call qword [0x1400270f0]
test rax, rax
jne 0x1400179f4
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x1400179fb
mov r15d, 0x80004005
jmp 0x1400179fb
mov qword [rbp + 0x860], rax
mov rax, qword [0x140030160]
mov rdx, r12
xor ecx, ecx
call qword [0x1400270f0]
xor r12d, r12d
test r15d, r15d
js 0x14001824a
xor edx, edx
lea r8d, [r12 + 0x5c]
lea rcx, [rbp + 0xb60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rax, qword [0x1400300f8]
xor edx, edx
xor ecx, ecx
mov r8d, 0x403
mov r15d, r12d
call qword [0x1400270f0]
mov r12, rax
test rax, rax
je 0x140017936
mov ecx, dword [rbp - 0x50]
mov r8d, 0x48
mov rax, qword [0x1400300b8]
mov edx, edi
call qword [0x1400270f0]
mov r8, qword [rsp + 0x78]
lea rcx, [rbp + 0xb7c]
neg eax
mov dword [rbp + 0xb70], 0x190
mov edx, 0x20
mov dword [rbp + 0xb60], eax
mov byte [rbp + 0xb7a], 5
call fcn.14000173c
mov rax, qword [0x140030020]
lea rcx, [rbp + 0xb60]
call qword [0x1400270f0]
test rax, rax
jne 0x140017adc
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140017ae3
mov r15d, 0x80004005
jmp 0x140017ae3
mov qword [rbp + 0x868], rax
mov rax, qword [0x140030160]
mov rdx, r12
xor ecx, ecx
call qword [0x1400270f0]
xor r12d, r12d
test r15d, r15d
js 0x14001824a
xor r8d, r8d
mov ecx, r13d
mov edx, r8d
sub ecx, 1
je 0x140017b19
sub ecx, 1
je 0x140017b52
cmp ecx, 1
jne 0x140017b26
mov r12d, dword [rbp + 0x938]
mov edx, dword [rbp + 0x93c]
mov dword [rbp + 0x928], r12d
mov dword [rbp + 0x92c], edx
mov ecx, 1
cmp r13d, ecx
je 0x140017b7e
lea eax, [r13 - 2]
cmp eax, ecx
ja 0x140017b69
mov eax, r8d
mov dword [rbp - 0x60], r8d
mov dword [rbp - 0x50], r8d
jmp 0x140017b8a
mov eax, dword [rbp + 0x938]
cdq
and edx, 3
lea r12d, [rdx + rax]
mov edx, r8d
sar r12d, 2
jmp 0x140017b26
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x50], eax
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x60], eax
mov r13d, dword [rbp - 0x60]
mov eax, dword [rbp - 0x60]
jmp 0x140017b8d
mov eax, 0x96
mov dword [rbp - 0x50], 0x20
mov r13d, r8d
mov dword [rbp - 0x58], eax
mov rdx, qword [rbp + 0x860]
sub r12d, eax
mov rcx, qword [rbp - 0x70]
sub r12d, r13d
mov rax, qword [0x140030078]
mov r15d, r8d
mov rdi, qword [rbp + 0x848]
mov dword [rbp + 0x894], r12d
mov dword [rbp + 0x884], r12d
call qword [0x1400270f0]
mov qword [rsp + 0x68], rax
mov rdx, rdi
mov rdi, qword [rbp - 0x70]
lea r9, [rbp + 0x87c]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [0x1400300d8]
mov dword [rsp + 0x20], 0xc50
call qword [0x1400270f0]
xor ecx, ecx
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140017c28
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140030078]
call qword [0x1400270f0]
xor ecx, ecx
test r15d, r15d
js 0x140018243
mov rdx, qword [rbp + 0x868]
mov r15d, ecx
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x140030078]
mov rdi, qword [rbp + 0x850]
call qword [0x1400270f0]
mov qword [rsp + 0x68], rax
mov rdx, rdi
mov rdi, qword [rbp - 0x70]
lea r9, [rbp + 0x88c]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [0x1400300d8]
mov dword [rsp + 0x20], 0xc50
call qword [0x1400270f0]
xor edx, edx
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140017cb5
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140030078]
call qword [0x1400270f0]
xor edx, edx
test r15d, r15d
js 0x140018243
mov eax, dword [rbp - 0x10]
mov edi, 1
mov ecx, dword [rbp + 0x884]
add eax, 0xfffffffe
cmp eax, edi
ja 0x140017ce1
mov r12d, dword [rbp + 0x894]
cmp ecx, r12d
cmovg r12d, ecx
mov r8d, dword [rbp - 0x60]
mov rax, qword [0x140030150]
cmp dword [rbp + 0x840], edx
je 0x140017d16
mov edx, r13d
sub edx, ecx
lea rcx, [rbp + 0x87c]
add edx, r12d
call qword [0x1400270f0]
sub r13d, dword [rbp + 0x894]
lea edx, [r12 + r13]
jmp 0x140017d29
mov edx, dword [rbp - 0x58]
lea rcx, [rbp + 0x87c]
call qword [0x1400270f0]
mov edx, dword [rbp - 0x58]
mov r8d, dword [rbp - 0x50]
lea rcx, [rbp + 0x88c]
add r8d, dword [rbp + 0x888]
mov rax, qword [0x140030150]
call qword [0x1400270f0]
mov r13d, dword [rbp - 0x10]
mov rdx, rdi
lea eax, [r13 - 2]
cmp eax, edi
jbe 0x140018027
cmp r13d, edx
jne 0x140018044
xor edx, edx
mov dword [rbp + 0x878], 0xffffff
lea rcx, [rbp + 0xbc0]
lea r8d, [rdx + 0x5c]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
xor edx, edx
mov r15d, eax
xor ecx, ecx
mov rax, qword [0x1400300f8]
mov r8d, 0x403
call qword [0x1400270f0]
mov rdi, rax
test rax, rax
jne 0x140017dda
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor ecx, ecx
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140017e86
mov r15d, 0x80004005
xor r12d, r12d
jmp 0x14001824a
mov r13d, dword [rbp - 0x68]
mov r8d, 0x48
mov rax, qword [0x1400300b8]
mov edx, r13d
lea ecx, [r8 - 0x3d]
call qword [0x1400270f0]
mov r8, qword [rbp - 0x78]
lea rcx, [rbp + 0xbdc]
neg eax
mov dword [rbp + 0xbd0], 0x190
mov edx, 0x20
mov dword [rbp + 0xbc0], eax
mov byte [rbp + 0xbda], 5
call fcn.14000173c
mov rax, qword [0x140030020]
lea rcx, [rbp + 0xbc0]
call qword [0x1400270f0]
test rax, rax
jne 0x140017e69
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140017e70
mov r15d, 0x80004005
jmp 0x140017e70
mov qword [rbp + 0x870], rax
mov rax, qword [0x140030160]
mov rdx, rdi
xor ecx, ecx
call qword [0x1400270f0]
xor ecx, ecx
jmp 0x140017e8a
mov r13d, dword [rbp - 0x68]
test r15d, r15d
js 0x140018243
mov rdx, qword [rbp + 0x870]
mov r15d, ecx
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x140030078]
mov rdi, qword [rbp + 0x858]
mov dword [rbp + 0x8a4], r12d
call qword [0x1400270f0]
mov rdx, rdi
lea r9, [rbp + 0x89c]
mov rdi, qword [rbp - 0x70]
mov r12, rax
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, rdi
mov rax, qword [0x1400300d8]
mov dword [rsp + 0x20], 0x460
call qword [0x1400270f0]
test eax, eax
mov eax, 0x80004005
cmove r15d, eax
test r12, r12
je 0x140017f13
mov rax, qword [0x140030078]
mov rdx, r12
mov rcx, rdi
call qword [0x1400270f0]
xor r12d, r12d
test r15d, r15d
js 0x140018246
mov eax, dword [rbp + 0x8a4]
lea ecx, [r12 + 0x5a]
add eax, 0x18
lea edi, [rcx + 6]
cmp eax, ecx
mov r8d, edi
mov edx, r13d
cmovl eax, ecx
mov dword [rbp + 0x8a4], eax
lea eax, [rcx - 0x3a]
mov ecx, dword [rbp + 0x89c]
mov dword [rbp + 0x8a8], eax
mov rax, qword [0x1400300b8]
call qword [0x1400270f0]
mov ecx, dword [rbp + 0x8a0]
mov r8d, edi
mov dword [rbp + 0x89c], eax
mov edx, r13d
mov rax, qword [0x1400300b8]
call qword [0x1400270f0]
mov ecx, dword [rbp + 0x8a4]
mov r8d, edi
mov dword [rbp + 0x8a0], eax
mov edx, r13d
mov rax, qword [0x1400300b8]
call qword [0x1400270f0]
mov ecx, dword [rbp + 0x8a8]
mov r8d, edi
mov dword [rbp + 0x8a4], eax
mov edx, r13d
mov rax, qword [0x1400300b8]
call qword [0x1400270f0]
mov r8d, dword [rbp + 0x898]
lea rcx, [rbp + 0x89c]
add r8d, 0x24
mov dword [rbp + 0x8a8], eax
mov rax, qword [0x140030150]
cmp dword [rbp + 0x840], r12d
je 0x140018006
mov edx, dword [rbp + 0x87c]
cmp edx, dword [rbp + 0x88c]
cmovge edx, dword [rbp + 0x88c]
call qword [0x1400270f0]
mov r13d, dword [rbp - 0x10]
mov edx, 1
jmp 0x140018044
mov edx, dword [rbp + 0x884]
cmp edx, dword [rbp + 0x894]
cmovle edx, dword [rbp + 0x894]
sub edx, dword [rbp + 0x8a4]
add edx, dword [rbp + 0x89c]
jmp 0x140017ff5
mov eax, dword [rbp + 0x898]
mov dword [rbp + 0x92c], eax
mov dword [rbp + 0x928], r12d
mov dword [rbp + 0x878], 0xffa8a8a8
mov r12d, dword [rbp + 0x840]
mov ecx, r13d
mov r15d, dword [rbp + 0x92c]
mov edi, dword [rbp + 0x928]
sub ecx, 1
je 0x140018237
sub ecx, 1
je 0x140018146
cmp ecx, 1
jne 0x14001822f
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp + 0x9d8], rax
xor ecx, ecx
mov rax, qword [0x140030148]
movups xmmword [rbp + 0x9b8], xmm0
movups xmmword [rbp + 0x9c8], xmm0
call qword [0x1400270f0]
lea rdx, [rbp + 0x9b8]
mov dword [rbp + 0x9b8], 0x28
mov rcx, rax
mov rax, qword [0x140030108]
call qword [0x1400270f0]
xor r12d, r12d
test eax, eax
je 0x140018232
mov rax, qword [0x140030140]
lea rdx, [rbp + 0x9cc]
xor ecx, ecx
call qword [0x1400270f0]
mov rax, qword [0x140030140]
lea rdx, [rbp + 0x9d4]
xor ecx, ecx
call qword [0x1400270f0]
mov eax, dword [rbp + 0x9d4]
sub eax, edi
imul ecx, eax, 0x32
mov eax, 0x51eb851f
imul ecx
mov eax, 0x51eb851f
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov rcx, qword [rbp + 0x9d4]
shr rcx, 0x20
mov dword [rbp + 0x920], edx
sub ecx, r15d
imul ecx, ecx, 0x32
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x924], edx
jmp 0x140018232
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp + 0x9b0], rax
xor ecx, ecx
mov rax, qword [0x140030148]
movups xmmword [rbp + 0x990], xmm0
movups xmmword [rbp + 0x9a0], xmm0
call qword [0x1400270f0]
lea rdx, [rbp + 0x990]
mov dword [rbp + 0x990], 0x28
mov rcx, rax
mov rax, qword [0x140030108]
call qword [0x1400270f0]
xor ecx, ecx
test eax, eax
je 0x14001822f
mov rax, qword [0x140030140]
lea rdx, [rbp + 0x9a4]
call qword [0x1400270f0]
mov rax, qword [0x140030140]
lea rdx, [rbp + 0x9ac]
xor ecx, ecx
call qword [0x1400270f0]
mov eax, dword [rbp + 0x9ac]
test r12d, r12d
je 0x1400181eb
lea ecx, [rax + rax*4]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
add edx, dword [rbp + 0x9a4]
jmp 0x140018201
sub eax, edi
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov rax, qword [rbp + 0x9ac]
shr rax, 0x20
sub eax, r15d
mov dword [rbp + 0x920], edx
imul ecx, eax, 0x5f
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rbp + 0x924], edx
xor r12d, r12d
mov r15d, r12d
jmp 0x14001824a
xor r12d, r12d
mov qword [rbp + 0x920], r12
jmp 0x140018232
xor r12d, r12d
mov r13d, dword [rbp - 0x10]
mov rdx, qword [rbp - 0x70]
xor ecx, ecx
mov rax, qword [0x140030160]
call qword [0x1400270f0]
mov ecx, 1
xor eax, eax
lock cmpxchg dword [0x1400325c0], ecx
jne 0x140018262
mov eax, dword [0x1400325bc]
test eax, eax
jle 0x1400182e7
sub eax, ecx
mov dword [0x1400325bc], eax
jne 0x1400182e7
xor eax, eax
lea rdi, [0x140032080]
mov rbx, rcx
lea r12d, [rax + 4]
mov rcx, qword [rdi]
test rcx, rcx
je 0x1400182a8
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
xor eax, eax
add rdi, 0x18
sub r12, rbx
jne 0x140018292
xor edx, edx
lea r8d, [r12 + 0x60]
lea rcx, [0x140032080]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
movabs rbx, 0xc81ecb17b1b54a58
mov eax, r12d
lea rcx, [rbp + 0x268]
xchg dword [0x1400325c0], eax
call fcn.140020a4c
test r15d, r15d
js 0x140019c63
mov rdi, qword [rbp + 0x920]
lea rcx, [rbp + 0x5a0]
xor edx, edx
mov qword [rbp + 0x2a8], rdi
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov rcx, qword [rbp + 0x30]
mov edx, 7
mov rax, qword [0x140030050]
lea r15d, [rdx - 6]
call qword [0x1400270f0]
xor r12d, r12d
test rax, rax
je 0x14001838e
mov rcx, rax
lea r8, [rbp + 0x5a0]
mov rax, qword [0x140030068]
lea edx, [r15 + 0x67]
call qword [0x1400270f0]
test eax, eax
je 0x14001838e
lea eax, [r15 + 0x1f]
cmp word [rbp + 0x5b2], ax
jne 0x14001838e
cmp qword [rbp + 0x5b8], r12
je 0x14001838e
cmp dword [rbp + 0x5a4], r12d
jle 0x14001838e
cmp dword [rbp + 0x5a8], r12d
jg 0x140018391
mov r15d, r12d
mov dword [rbp + 0x94], r15d
test r15d, r15d
jne 0x1400183a6
lea eax, [r15 + 1]
cmp r13d, eax
jne 0x14001840f
mov r8d, dword [rbp + 0x2ac]
lea rcx, [rbp + 0x87c]
mov rax, qword [0x140030150]
mov edx, edi
call qword [0x1400270f0]
mov r8d, dword [rbp + 0x2ac]
lea rcx, [rbp + 0x88c]
mov rax, qword [0x140030150]
mov edx, edi
call qword [0x1400270f0]
mov edi, 1
cmp r13d, edi
jne 0x140018414
mov ecx, dword [rbp + 0x844]
mov rax, qword [0x140030028]
neg ecx
sbb ecx, ecx
not ecx
and ecx, 0xb26720
call qword [0x1400270f0]
mov qword [rbp - 0x40], rax
jmp 0x140018414
mov edi, 1
mov r15, qword [rbp + 0x30]
mov edx, edi
mov rax, qword [0x140030080]
mov rcx, r15
call qword [0x1400270f0]
cmp dword [rbp + 0x840], r12d
mov ecx, 0x20812
mov dword [rbp - 0x60], eax
mov eax, 0x810
cmovne eax, ecx
mov dword [rbp - 0x68], eax
cmp dword [rbp + 0x94], r12d
je 0x140018eb9
mov eax, dword [rbp + 0x844]
lea rcx, [rbp + 0x530]
mov rdi, qword [rbp + 0x848]
mov r13d, 0x68
mov dword [rbp - 0x58], eax
mov r8d, r13d
mov rax, qword [rbp + 0x860]
xor edx, edx
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x78], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r13d
lea rcx, [rbp + 0x610]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rsp + 0x78], r12
mov dword [rbp - 0x50], r12d
xorps xmm0, xmm0
mov qword [rbp + 0xa30], rax
mov dword [rbp + 0xa38], eax
movups xmmword [rbp + 0xa10], xmm0
movups xmmword [rbp + 0xa20], xmm0
movups xmmword [rbp + 0x940], xmm0
test rdi, rdi
je 0x140019c4a
lea edx, [rax + 7]
mov rcx, r15
mov rax, qword [0x140030050]
call qword [0x1400270f0]
xor edi, edi
test rax, rax
je 0x140018f01
mov rcx, rax
lea r8, [rbp + 0x530]
mov rax, qword [0x140030068]
mov edx, r13d
call qword [0x1400270f0]
test eax, eax
je 0x14001852a
mov rax, qword [rbp + 0x548]
mov r12d, dword [rbp + 0x538]
mov qword [rsp + 0x78], rax
mov eax, dword [rbp + 0x534]
mov dword [rbp - 0x50], eax
mov rax, qword [0x140030010]
mov rcx, r15
call qword [0x1400270f0]
mov r13, rax
test rax, rax
jne 0x140018556
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
jmp 0x140019c4a
mov eax, dword [rbp + 0x884]
lea r9, [rbp + 0x2b0]
sub eax, dword [rbp + 0x87c]
lea rdx, [rbp + 0xa10]
mov dword [rbp + 0xa14], eax
xorps xmm0, xmm0
mov eax, dword [rbp + 0x880]
xor r8d, r8d
sub eax, dword [rbp + 0x888]
mov rcx, r13
mov dword [rbp + 0xa18], eax
mov r15d, edi
mov rax, qword [0x140030018]
mov dword [rsp + 0x28], edi
mov qword [rbp + 0x2b0], rdi
movdqu xmmword [rbp + 0xa20], xmm0
mov qword [rbp + 0xa30], rdi
mov dword [rbp + 0xa38], edi
mov dword [rbp + 0xa10], 0x28
mov dword [rbp + 0xa1c], 0x200001
mov qword [rsp + 0x20], rdi
call qword [0x1400270f0]
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
jne 0x140018617
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140018970
mov r15d, 0x80004005
jmp 0x140018970
mov rax, qword [0x140030068]
lea r8, [rbp + 0x610]
mov edx, 0x68
mov rcx, rdi
call qword [0x1400270f0]
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, dword [rbp + 0x884]
mov rdx, rdi
cmovne rcx, qword [rbp + 0x628]
sub eax, dword [rbp + 0x87c]
mov dword [rbp + 0x948], eax
mov eax, dword [rbp + 0x888]
sub eax, dword [rbp + 0x880]
mov dword [rbp + 0x94c], eax
mov rax, qword [0x140030078]
mov qword [rbp - 0x80], rcx
mov rcx, r13
call qword [0x1400270f0]
mov rax, qword [0x140030080]
mov edx, 1
mov rcx, r13
call qword [0x1400270f0]
mov rdx, qword [rsp + 0x68]
mov rcx, r13
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rdi, qword [0x1400300e8]
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rax, qword [0x140030070]
call qword [0x1400270f0]
lea rdx, [rbp + 0x940]
mov rcx, r13
mov r8, rax
mov rax, rdi
call qword [0x1400270f0]
mov rdx, qword [rbp - 0x78]
lea r9, [rbp + 0x940]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, r13
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400300d8]
call qword [0x1400270f0]
mov ecx, 1
xor r9d, r9d
cmp dword [rbp - 0x10], ecx
jne 0x140018739
cmp dword [rbp - 0x58], r9d
je 0x140018730
mov rax, qword [0x140030118]
lea ecx, [r9 + 8]
call qword [0x1400270f0]
mov dword [rbp - 0x58], eax
xor r9d, r9d
jmp 0x140018740
mov dword [rbp - 0x58], 0xffffff
jmp 0x140018740
mov dword [rbp - 0x58], 0xffa8a8a8
mov eax, dword [rbp + 0x87c]
mov edi, r9d
movsxd r10, dword [rbp + 0x948]
mov edx, eax
neg edx
mov r8d, r9d
test eax, eax
cmovns edi, eax
cmovns edx, r9d
mov eax, dword [rbp + 0x880]
mov ecx, eax
neg ecx
test eax, eax
cmovns r8d, eax
cmovns ecx, r9d
movsxd r9, dword [rbp - 0x50]
mov eax, r10d
sub eax, edx
mov r11d, r9d
sub r11d, edi
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x94c]
sub eax, ecx
sub r12d, r8d
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x140018942
test r12d, r12d
jle 0x140018942
mov eax, r10d
mov r14d, 1
imul eax, ecx
movsxd rcx, eax
movsxd rax, edx
add rcx, rax
mov rax, qword [rbp - 0x80]
lea rdx, [rax + rcx*4]
mov eax, r9d
imul eax, r8d
mov qword [rbp - 0x78], rdx
movsxd rcx, eax
movsxd rax, edi
add rcx, rax
mov rax, qword [rsp + 0x78]
lea rax, [rax + rcx*4]
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x80], rcx
mov rcx, r9
mov rbx, qword [rbp - 0x80]
shl rcx, 2
mov qword [rbp - 0x28], rcx
mov ecx, r12d
mov r12d, dword [rbp - 0x58]
mov qword [rbp - 0x50], rcx
mov qword [rsp + 0x78], rax
mov r10, rax
mov edi, r11d
sub r10, rdx
mov qword [rbp - 0x80], rdi
lea r9, [rdx + 2]
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400188f6
movzx edi, byte [r10 + r9]
mov eax, 0x80808081
movzx r8d, dl
movzx ecx, r12b
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x57]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x56]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x80808081
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x80]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, r14
mov qword [rbp - 0x80], rdi
jne 0x140018823
mov rdx, qword [rbp - 0x78]
mov rax, qword [rsp + 0x78]
add rdx, rbx
add rax, qword [rbp - 0x28]
sub qword [rbp - 0x50], r14
mov qword [rbp - 0x78], rdx
mov qword [rsp + 0x78], rax
jne 0x140018812
mov r14d, dword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140018970
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rax, qword [0x140030030]
mov rcx, r13
call qword [0x1400270f0]
xor r13d, r13d
test r15d, r15d
js 0x14001854e
mov eax, dword [rbp + 0x844]
lea r15d, [r13 + 0x68]
mov rdi, qword [rbp + 0x850]
lea rcx, [rbp + 0x450]
mov dword [rbp - 0x58], eax
mov r8d, r15d
mov rax, qword [rbp + 0x868]
xor edx, edx
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x78], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, r15d
lea rcx, [rbp + 0x680]
xor edx, edx
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rsp + 0x78], r13
mov dword [rbp - 0x50], r13d
xorps xmm0, xmm0
mov qword [rbp + 0xa60], rax
mov r12d, r13d
mov dword [rbp + 0xa68], eax
movups xmmword [rbp + 0xa40], xmm0
movups xmmword [rbp + 0xa50], xmm0
movups xmmword [rbp + 0x950], xmm0
test rdi, rdi
je 0x140019c4a
mov r15, qword [rbp + 0x30]
lea edx, [rax + 7]
mov rax, qword [0x140030050]
mov rcx, r15
call qword [0x1400270f0]
xor edi, edi
test rax, rax
je 0x140018f01
mov rcx, rax
lea r8, [rbp + 0x450]
mov rax, qword [0x140030068]
lea edx, [rdi + 0x68]
call qword [0x1400270f0]
test eax, eax
je 0x140018a6a
mov rax, qword [rbp + 0x468]
mov r12d, dword [rbp + 0x458]
mov qword [rsp + 0x78], rax
mov eax, dword [rbp + 0x454]
mov dword [rbp - 0x50], eax
mov rax, qword [0x140030010]
mov rcx, r15
call qword [0x1400270f0]
mov r13, rax
test rax, rax
je 0x140018542
mov eax, dword [rbp + 0x894]
lea r9, [rbp + 0x2b8]
sub eax, dword [rbp + 0x88c]
lea rdx, [rbp + 0xa40]
mov dword [rbp + 0xa44], eax
xorps xmm0, xmm0
mov eax, dword [rbp + 0x890]
xor r8d, r8d
sub eax, dword [rbp + 0x898]
mov rcx, r13
mov dword [rbp + 0xa48], eax
mov r15d, edi
mov rax, qword [0x140030018]
mov dword [rsp + 0x28], edi
mov qword [rbp + 0x2b8], rdi
movdqu xmmword [rbp + 0xa50], xmm0
mov qword [rbp + 0xa60], rdi
mov dword [rbp + 0xa68], edi
mov dword [rbp + 0xa40], 0x28
mov dword [rbp + 0xa4c], 0x200001
mov qword [rsp + 0x20], rdi
call qword [0x1400270f0]
mov qword [rbp - 0x70], rax
mov rdi, rax
test rax, rax
jne 0x140018b47
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r15d, ax
or r15d, 0x80070000
test eax, eax
cmovle r15d, eax
test r15d, r15d
js 0x140018e97
mov r15d, 0x80004005
jmp 0x140018e97
mov rax, qword [0x140030068]
lea r8, [rbp + 0x680]
mov edx, 0x68
mov rcx, rdi
call qword [0x1400270f0]
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, dword [rbp + 0x894]
mov rdx, rdi
cmovne rcx, qword [rbp + 0x698]
sub eax, dword [rbp + 0x88c]
mov dword [rbp + 0x958], eax
mov eax, dword [rbp + 0x898]
sub eax, dword [rbp + 0x890]
mov dword [rbp + 0x95c], eax
mov rax, qword [0x140030078]
mov qword [rbp - 0x80], rcx
mov rcx, r13
call qword [0x1400270f0]
mov rax, qword [0x140030080]
mov edx, 1
mov rcx, r13
call qword [0x1400270f0]
mov rdx, qword [rsp + 0x68]
mov rcx, r13
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rdi, qword [0x1400300e8]
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rax, qword [0x140030070]
call qword [0x1400270f0]
lea rdx, [rbp + 0x950]
mov rcx, r13
mov r8, rax
mov rax, rdi
call qword [0x1400270f0]
mov rdx, qword [rbp - 0x78]
lea r9, [rbp + 0x950]
xor eax, eax
or r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov rcx, r13
mov eax, dword [rbp - 0x68]
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400300d8]
call qword [0x1400270f0]
mov eax, 1
xor r9d, r9d
cmp dword [rbp - 0x10], eax
jne 0x140018c65
cmp dword [rbp - 0x58], r9d
je 0x140018c5c
lea ecx, [rax + 7]
mov rax, qword [0x140030118]
call qword [0x1400270f0]
xor r9d, r9d
jmp 0x140018c6a
mov dword [rbp - 0x10], 0xffffff
jmp 0x140018c70
mov eax, 0xffa8a8a8
mov dword [rbp - 0x10], eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp + 0x88c]
mov edi, r9d
movsxd r10, dword [rbp + 0x958]
mov edx, eax
neg edx
mov r8d, r9d
test eax, eax
cmovns edi, eax
cmovns edx, r9d
mov eax, dword [rbp + 0x890]
mov ecx, eax
neg ecx
test eax, eax
cmovns r8d, eax
cmovns ecx, r9d
movsxd r9, dword [rbp - 0x50]
mov eax, r10d
sub eax, edx
mov r11d, r9d
sub r11d, edi
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x95c]
sub eax, ecx
sub r12d, r8d
cmp eax, r12d
cmovl r12d, eax
test r11d, r11d
jle 0x140018e69
test r12d, r12d
jle 0x140018e69
mov esi, dword [rbp - 0x30]
imul ecx, r10d
movsxd rax, edx
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x80]
lea rdx, [rax + rcx*4]
mov eax, r9d
imul eax, r8d
mov qword [rbp - 0x78], rdx
movsxd rcx, eax
movsxd rax, edi
add rcx, rax
mov rax, qword [rsp + 0x78]
lea rax, [rax + rcx*4]
mov rcx, r10
shl rcx, 2
mov qword [rbp - 0x80], rcx
mov rcx, r9
shl rcx, 2
mov qword [rbp - 0x28], rcx
mov ecx, r12d
mov qword [rbp - 0x68], rcx
mov qword [rsp + 0x78], rax
mov r10, rax
mov edi, r11d
sub r10, rdx
mov qword [rbp - 0x30], rdi
lea r9, [rdx + 2]
mov ebx, 1
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140018e1c
movzx edi, byte [r10 + r9]
mov r12d, 0x80808081
movzx r8d, dl
mov eax, r12d
movzx ecx, sil
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0xf]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0xe]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r12d
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x30]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rbx
mov qword [rbp - 0x30], rdi
jne 0x140018d4b
mov rdx, qword [rbp - 0x78]
mov rax, qword [rsp + 0x78]
add rdx, qword [rbp - 0x80]
add rax, qword [rbp - 0x28]
sub qword [rbp - 0x68], rbx
mov qword [rbp - 0x78], rdx
mov qword [rsp + 0x78], rax
jne 0x140018d35
mov r14d, dword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp - 0x70]
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140018e97
mov rdx, rax
mov rcx, r13
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rax, qword [0x140030030]
mov rcx, r13
call qword [0x1400270f0]
test r15d, r15d
js 0x14001854e
mov r12, qword [rbp + 0x30]
jmp 0x140019c02
cmp dword [rbp + 0x844], r12d
jne 0x140018ec9
mov al, 0xc0
cmp r13d, edi
jne 0x140018ecb
mov al, 0xff
mov byte [rbp - 0x56], al
mov rcx, r15
xor eax, eax
mov word [rbp - 0x58], r12w
mov dword [rbp + 0x8d0], eax
mov rax, qword [0x140030010]
mov byte [rbp - 0x55], dil
mov qword [rbp + 0x960], r12
call qword [0x1400270f0]
xor edx, edx
mov qword [rbp - 8], rax
test rax, rax
jne 0x140018f12
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140019c4a
cmp r13d, edi
jne 0x140018fe9
mov edx, dword [rbp + 0x894]
mov eax, edx
mov r9d, dword [rbp + 0x884]
mov r15d, r9d
mov r8d, dword [rbp + 0x88c]
sub eax, r8d
mov r10d, dword [rbp + 0x87c]
sub r15d, r10d
mov ecx, dword [rbp + 0x898]
cmp eax, r15d
mov r11d, dword [rbp + 0x880]
cmovg r15d, eax
xor eax, eax
sub ecx, r11d
mov dword [rbp - 0x50], r15d
mov edi, eax
mov dword [rsp + 0x70], ecx
mov r13d, eax
cmp dword [rbp + 0x840], eax
je 0x140018f93
mov r12d, r10d
mov eax, r8d
sub r12d, r9d
sub eax, edx
add r12d, r15d
add eax, r15d
mov dword [rbp + 0x960], r12d
mov dword [rbp + 0x8d0], eax
mov r13d, eax
mov edi, r12d
mov eax, dword [rbp + 0x888]
sub edi, r10d
sub eax, r11d
sub r13d, r8d
mov dword [rbp - 0x48], eax
add edi, r9d
mov dword [rbp + 0x96c], eax
add r13d, edx
mov eax, dword [rbp + 0x890]
sub eax, r11d
mov dword [rbp + 0x968], edi
mov dword [rbp - 0x28], eax
mov dword [rbp + 0x8d4], eax
sub eax, dword [rbp + 0x890]
add eax, dword [rbp + 0x898]
mov dword [rbp - 0x80], eax
xor edx, edx
mov dword [rbp + 0x8dc], eax
mov dword [rbp + 0x8d8], r13d
jmp 0x14001904b
movups xmm0, xmmword [rbp + 0x87c]
mov r15d, dword [rbp + 0x928]
movups xmm1, xmmword [rbp + 0x88c]
mov ecx, dword [rbp + 0x92c]
movdqu xmmword [rbp + 0x960], xmm0
mov eax, dword [rbp + 0x96c]
mov edi, dword [rbp + 0x968]
mov r12d, dword [rbp + 0x960]
movdqu xmmword [rbp + 0x8d0], xmm1
mov r13d, dword [rbp + 0x8d8]
mov dword [rbp - 0x48], eax
mov eax, dword [rbp + 0x8dc]
mov dword [rbp - 0x80], eax
mov eax, dword [rbp + 0x8d4]
mov dword [rbp - 0x28], eax
mov dword [rbp - 0x50], r15d
mov dword [rsp + 0x70], ecx
mov eax, ecx
mov dword [rsp + 0x28], edx
mov rcx, qword [rbp - 8]
lea r9, [rbp + 0x2c0]
neg eax
mov qword [rbp + 0x2c0], rdx
mov dword [rbp + 0x9e8], eax
xorps xmm0, xmm0
mov rax, qword [0x140030018]
xor r8d, r8d
mov qword [rbp + 0xa00], rdx
mov dword [rbp + 0xa08], edx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0x9e0]
movdqu xmmword [rbp + 0x9f0], xmm0
mov dword [rbp + 0x9e0], 0x28
mov dword [rbp + 0x9e4], r15d
mov dword [rbp + 0x9ec], 0x200001
call qword [0x1400270f0]
mov qword [rbp - 0x38], rax
test rax, rax
jne 0x1400190d7
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
jmp 0x140019c31
mov rcx, qword [rbp - 8]
mov rdx, rax
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov eax, 1
cmp dword [rbp - 0x10], eax
jne 0x140019130
mov r8, qword [rbp - 0x40]
xor eax, eax
test r8, r8
je 0x140019130
mov rcx, qword [rbp - 8]
lea rdx, [rbp + 0x8e0]
mov qword [rbp + 0x8e0], rax
mov eax, dword [rsp + 0x70]
mov dword [rbp + 0x8ec], eax
mov rax, qword [0x1400300e8]
mov dword [rbp + 0x8e8], r15d
call qword [0x1400270f0]
mov eax, dword [rbp + 0x844]
lea rcx, [rbp + 0x6f0]
mov dword [rbp - 0x70], eax
xor edx, edx
mov rax, qword [rbp + 0x860]
mov qword [rbp], rax
mov rax, qword [rbp + 0x848]
lea r8d, [rdx + 0x68]
mov qword [rbp + 0x18], rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x760]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor ecx, ecx
xor eax, eax
xorps xmm0, xmm0
mov qword [rbp + 0x20], rcx
mov dword [rsp + 0x78], ecx
mov dword [rbp - 0x78], ecx
movups xmmword [rbp + 0xaa0], xmm0
mov qword [rbp + 0xac0], rax
movups xmmword [rbp + 0xab0], xmm0
mov dword [rbp + 0xac8], eax
movups xmmword [rbp + 0x8f0], xmm0
cmp qword [rbp + 0x18], rcx
je 0x140019c15
mov rax, qword [0x140030050]
lea edx, [rcx + 7]
mov rcx, qword [rbp - 8]
call qword [0x1400270f0]
test rax, rax
jne 0x1400191db
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140019c15
mov rcx, rax
lea r8, [rbp + 0x6f0]
mov rax, qword [0x140030068]
mov edx, 0x68
call qword [0x1400270f0]
test eax, eax
je 0x140019219
mov rax, qword [rbp + 0x708]
mov qword [rbp + 0x20], rax
mov eax, dword [rbp + 0x6f4]
mov dword [rsp + 0x78], eax
mov eax, dword [rbp + 0x6f8]
mov dword [rbp - 0x78], eax
mov rcx, qword [rbp - 8]
mov rax, qword [0x140030010]
call qword [0x1400270f0]
xor edx, edx
mov qword [rbp + 0x28], rax
mov rcx, rax
test rax, rax
je 0x1400191ca
mov eax, dword [rbp + 0x964]
lea r9, [rbp + 0x2e8]
sub eax, dword [rbp - 0x48]
xorps xmm0, xmm0
mov dword [rsp + 0x28], edx
sub edi, r12d
mov dword [rbp + 0xaa8], eax
xor r8d, r8d
mov rax, qword [0x140030018]
mov qword [rbp + 0x2e8], rdx
mov dword [rsp + 0x68], edx
mov qword [rbp + 0xac0], rdx
mov dword [rbp + 0xac8], edx
mov qword [rsp + 0x20], rdx
lea rdx, [rbp + 0xaa0]
movdqu xmmword [rbp + 0xab0], xmm0
mov dword [rbp + 0xaa0], 0x28
mov dword [rbp + 0xaa4], edi
mov dword [rbp + 0xaac], 0x200001
call qword [0x1400270f0]
mov qword [rbp + 8], rax
test rax, rax
jne 0x1400192ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
xor r12d, r12d
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
mov dword [rsp + 0x68], ecx
test ecx, ecx
js 0x140019633
mov dword [rsp + 0x68], 0x80004005
jmp 0x140019633
mov rcx, rax
lea r8, [rbp + 0x760]
mov rax, qword [0x140030068]
mov edx, 0x68
call qword [0x1400270f0]
xor edx, edx
mov dword [rbp + 0x8f8], edi
mov rdi, qword [rbp + 0x28]
test eax, eax
mov eax, dword [rbp - 0x48]
mov ecx, edx
cmovne rcx, qword [rbp + 0x778]
sub eax, dword [rbp + 0x964]
mov rdx, qword [rbp + 8]
mov dword [rbp + 0x8fc], eax
mov rax, qword [0x140030078]
mov qword [rbp - 0x20], rcx
mov rcx, rdi
call qword [0x1400270f0]
mov rax, qword [0x140030080]
mov edx, 1
mov rcx, rdi
call qword [0x1400270f0]
mov rdx, qword [rbp]
mov rcx, rdi
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rdi, qword [0x1400300e8]
xor ecx, ecx
mov qword [rbp], rax
mov rax, qword [0x140030070]
call qword [0x1400270f0]
mov rcx, qword [rbp + 0x28]
lea rdx, [rbp + 0x8f0]
mov r8, rax
mov rax, rdi
call qword [0x1400270f0]
mov rdi, qword [rbp + 0x28]
lea r9, [rbp + 0x8f0]
mov rdx, qword [rbp + 0x18]
xor eax, eax
mov qword [rsp + 0x28], rax
or r8d, 0xffffffff
mov eax, dword [rbp - 0x68]
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400300d8]
call qword [0x1400270f0]
mov eax, 1
xor edx, edx
cmp dword [rbp - 0x10], eax
jne 0x1400193ff
cmp dword [rbp - 0x70], edx
je 0x1400193f8
lea ecx, [rax + 7]
mov rax, qword [0x140030118]
call qword [0x1400270f0]
xor edx, edx
jmp 0x140019404
mov eax, 0xffffff
jmp 0x140019404
mov eax, 0xffa8a8a8
movsxd r11, dword [rsp + 0x78]
mov r9d, r12d
neg r9d
mov dword [rbp - 0x70], eax
mov eax, dword [rbp + 0x964]
test r12d, r12d
mov ecx, eax
mov r10d, edx
cmovns r9d, edx
cmovns r10d, r12d
neg ecx
mov r8d, edx
test eax, eax
mov r12d, r11d
cmovns r8d, eax
cmovns ecx, edx
mov eax, dword [rbp + 0x8f8]
sub r12d, r10d
mov edx, dword [rbp - 0x78]
sub eax, r9d
cmp eax, r12d
cmovl r12d, eax
mov eax, dword [rbp + 0x8fc]
sub eax, ecx
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r12d, r12d
jle 0x140019603
test edx, edx
jle 0x140019603
imul ecx, dword [rbp + 0x8f8]
mov ebx, dword [rbp - 0x70]
movsxd rax, r9d
imul r8d, r11d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp - 0x20]
lea rdi, [rax + rcx*4]
movsxd rax, r10d
movsxd rcx, r8d
add rcx, rax
mov qword [rbp - 0x20], rdi
mov rax, qword [rbp + 0x20]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x8f8]
shl rcx, 2
mov qword [rbp + 0x18], rcx
mov rcx, r11
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, edx
mov qword [rsp + 0x78], rcx
mov qword [rbp + 0x20], rax
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov esi, 1
mov edi, r12d
mov qword [rbp - 0x48], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x1400195af
movzx edi, byte [r10 + r9]
mov r11d, 0x80808081
movzx r8d, dl
mov eax, r11d
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x6f]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rbp - 0x6e]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r11d
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x48]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x48], rdi
jne 0x1400194df
mov rdi, qword [rbp - 0x20]
mov rax, qword [rbp + 0x20]
add rdi, qword [rbp + 0x18]
add rax, qword [rbp - 0x78]
sub qword [rsp + 0x78], rsi
mov qword [rbp - 0x20], rdi
mov qword [rbp + 0x20], rax
jne 0x1400194c9
mov r14d, dword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
mov r15d, dword [rbp - 0x50]
movabs rsi, 0x7f1137fab69605e
mov rdi, qword [rbp + 0x28]
mov rcx, qword [rbp + 8]
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov rax, qword [rbp]
xor r12d, r12d
test rax, rax
je 0x140019633
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rcx, qword [rbp + 0x28]
mov rax, qword [0x140030030]
call qword [0x1400270f0]
cmp dword [rsp + 0x68], r12d
jl 0x140019c18
mov eax, dword [rbp + 0x844]
lea rcx, [rbp + 0x4c0]
mov rdi, qword [rbp + 0x850]
xor edx, edx
mov dword [rsp + 0x68], eax
mov rax, qword [rbp + 0x868]
mov qword [rbp - 0x20], rax
lea r8d, [rdx + 0x68]
mov qword [rbp + 8], rdi
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor edx, edx
lea rcx, [rbp + 0x7d0]
lea r8d, [rdx + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor eax, eax
mov qword [rbp + 0x28], r12
mov dword [rbp - 0x78], r12d
xorps xmm0, xmm0
mov dword [rsp + 0x78], r12d
mov qword [rbp + 0xaf0], rax
mov dword [rbp + 0xaf8], eax
movups xmmword [rbp + 0xad0], xmm0
movups xmmword [rbp + 0xae0], xmm0
movups xmmword [rbp + 0x900], xmm0
test rdi, rdi
je 0x140019c18
mov rdi, qword [rbp - 8]
lea edx, [rax + 7]
mov rax, qword [0x140030050]
mov rcx, rdi
call qword [0x1400270f0]
test rax, rax
jne 0x1400196fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
jmp 0x140019c18
mov rcx, rax
lea r8, [rbp + 0x4c0]
mov rax, qword [0x140030068]
mov edx, 0x68
call qword [0x1400270f0]
test eax, eax
je 0x14001973b
mov rax, qword [rbp + 0x4d8]
mov qword [rbp + 0x28], rax
mov eax, dword [rbp + 0x4c4]
mov dword [rbp - 0x78], eax
mov eax, dword [rbp + 0x4c8]
mov dword [rsp + 0x78], eax
mov rax, qword [0x140030010]
mov rcx, rdi
call qword [0x1400270f0]
mov qword [rbp + 0x20], rax
mov rdi, rax
test rax, rax
je 0x1400196ec
mov eax, dword [rbp - 0x28]
lea r9, [rbp + 0x300]
sub eax, dword [rbp - 0x80]
lea rdx, [rbp + 0xad0]
sub r13d, dword [rbp + 0x8d0]
xor ecx, ecx
mov dword [rsp + 0x28], ecx
xorps xmm0, xmm0
mov dword [rbp + 0xad8], eax
xor r8d, r8d
mov rax, qword [0x140030018]
mov qword [rbp + 0xaf0], rcx
mov dword [rbp + 0xaf8], ecx
mov qword [rsp + 0x20], rcx
mov rcx, rdi
mov qword [rbp + 0x300], r12
movdqu xmmword [rbp + 0xae0], xmm0
mov dword [rbp + 0xad0], 0x28
mov dword [rbp + 0xad4], r13d
mov dword [rbp + 0xadc], 0x200001
call qword [0x1400270f0]
mov qword [rbp + 0x18], rax
test rax, rax
jne 0x14001980a
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx r12d, ax
or r12d, 0x80070000
test eax, eax
cmovle r12d, eax
test r12d, r12d
js 0x140019b52
mov r12d, 0x80004005
jmp 0x140019b52
mov rcx, rax
lea r8, [rbp + 0x7d0]
mov rax, qword [0x140030068]
mov edx, 0x68
call qword [0x1400270f0]
xor edx, edx
mov dword [rbp + 0x908], r13d
mov r13d, dword [rbp - 0x28]
test eax, eax
mov eax, dword [rbp - 0x80]
mov ecx, edx
cmovne rcx, qword [rbp + 0x7e8]
sub eax, r13d
mov rdx, qword [rbp + 0x18]
mov dword [rbp + 0x90c], eax
mov rax, qword [0x140030078]
mov qword [rbp], rcx
mov rcx, rdi
call qword [0x1400270f0]
mov rax, qword [0x140030080]
mov edx, 1
mov rcx, rdi
call qword [0x1400270f0]
mov rdx, qword [rbp - 0x20]
mov rcx, rdi
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rdi, qword [0x1400300e8]
xor ecx, ecx
mov qword [rbp - 0x20], rax
mov rax, qword [0x140030070]
call qword [0x1400270f0]
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x900]
mov r8, rax
mov rax, rdi
call qword [0x1400270f0]
mov rdi, qword [rbp + 0x20]
lea r9, [rbp + 0x900]
mov rdx, qword [rbp + 8]
xor eax, eax
mov qword [rsp + 0x28], rax
or r8d, 0xffffffff
mov eax, dword [rbp - 0x68]
mov rcx, rdi
mov dword [rsp + 0x20], eax
mov rax, qword [0x1400300d8]
call qword [0x1400270f0]
mov eax, 1
xor edx, edx
cmp dword [rbp - 0x10], eax
jne 0x14001991e
cmp dword [rsp + 0x68], edx
je 0x140019914
lea ecx, [rax + 7]
mov rax, qword [0x140030118]
call qword [0x1400270f0]
xor edx, edx
jmp 0x140019923
mov dword [rsp + 0x68], 0xffffff
jmp 0x14001992a
mov eax, 0xffa8a8a8
mov dword [rsp + 0x68], eax
mov dword [rbp - 0x30], eax
mov eax, dword [rbp + 0x8d0]
mov r10d, edx
mov r9d, eax
mov r8d, edx
neg r9d
mov ecx, r13d
test eax, eax
cmovns r9d, edx
cmovns r10d, eax
mov eax, dword [rbp + 0x908]
neg ecx
test r13d, r13d
cmovns ecx, edx
cmovns r8d, r13d
movsxd r13, dword [rbp - 0x78]
sub eax, r9d
mov edx, dword [rsp + 0x78]
mov r11d, r13d
sub r11d, r10d
cmp eax, r11d
cmovl r11d, eax
mov eax, dword [rbp + 0x90c]
sub eax, ecx
sub edx, r8d
cmp eax, edx
cmovl edx, eax
test r11d, r11d
jle 0x140019b25
test edx, edx
jle 0x140019b25
imul ecx, dword [rbp + 0x908]
mov ebx, dword [rbp - 0x30]
movsxd rax, r9d
imul r8d, r13d
movsxd rcx, ecx
add rcx, rax
mov rax, qword [rbp]
lea rdi, [rax + rcx*4]
movsxd rax, r10d
movsxd rcx, r8d
add rcx, rax
mov qword [rbp + 8], rdi
mov rax, qword [rbp + 0x28]
lea rax, [rax + rcx*4]
movsxd rcx, dword [rbp + 0x908]
shl rcx, 2
mov qword [rbp], rcx
mov rcx, r13
shl rcx, 2
mov qword [rbp - 0x78], rcx
mov ecx, edx
mov qword [rsp + 0x78], rcx
mov qword [rbp + 0x28], rax
mov r10, rax
lea r9, [rdi + 2]
sub r10, rdi
mov esi, 1
mov edi, r11d
mov qword [rbp - 0x80], rdi
movzx eax, byte [r9 - 2]
movzx ecx, byte [r9 - 1]
lea edx, [rax + rcx*2]
movzx eax, byte [r9]
add edx, eax
shr edx, 2
not dl
test dl, dl
je 0x140019ad5
movzx edi, byte [r10 + r9]
mov r13d, 0x80808081
movzx r8d, dl
mov eax, r13d
movzx ecx, bl
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x69]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
add dl, dil
mov byte [r10 + r9], dl
movzx edi, byte [r10 + r9 - 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
movzx ecx, byte [rsp + 0x6a]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
add dl, dil
mov byte [r10 + r9 - 1], dl
movzx edi, byte [r10 + r9 - 2]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
mov ecx, 0xff
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, r13d
add dl, dil
mov byte [r10 + r9 - 2], dl
movzx edi, byte [r10 + r9 + 1]
sub ecx, edi
imul ecx, r8d
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
add dl, dil
mov rdi, qword [rbp - 0x80]
mov byte [r10 + r9 + 1], dl
add r9, 4
sub rdi, rsi
mov qword [rbp - 0x80], rdi
jne 0x140019a03
mov rdi, qword [rbp + 8]
mov rax, qword [rbp + 0x28]
add rdi, qword [rbp]
add rax, qword [rbp - 0x78]
sub qword [rsp + 0x78], rsi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x28], rax
jne 0x1400199ed
mov r14d, dword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
mov rdi, qword [rbp + 0x20]
movabs rsi, 0x7f1137fab69605e
mov rcx, qword [rbp + 0x18]
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov rax, qword [rbp - 0x20]
test rax, rax
je 0x140019b52
mov rdx, rax
mov rcx, rdi
mov rax, qword [0x140030078]
call qword [0x1400270f0]
mov rax, qword [0x140030030]
mov rcx, rdi
call qword [0x1400270f0]
xor edx, edx
test r12d, r12d
js 0x140019c15
mov r12, qword [rbp + 0x30]
lea eax, [rdx + 1]
mov r9d, r15d
cmp dword [rbp - 0x10], eax
jne 0x140019bbc
mov rax, qword [rbp - 8]
mov rcx, r12
mov r8d, dword [rbp + 0x880]
mov dword [rsp + 0x40], 0xcc0020
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], edx
mov edx, dword [rbp + 0x87c]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov rax, qword [section..data]
call qword [0x1400270f0]
jmp 0x140019c02
mov eax, dword [rsp + 0x70]
mov ecx, dword [rbp - 0x58]
mov r8d, dword [rbp + 0x924]
mov dword [rsp + 0x50], ecx
mov rcx, qword [rbp - 8]
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x38], edx
mov dword [rsp + 0x30], edx
mov edx, dword [rbp + 0x920]
mov qword [rsp + 0x28], rcx
mov rcx, r12
mov dword [rsp + 0x20], eax
mov rax, qword [0x140030040]
call qword [0x1400270f0]
mov edx, dword [rbp - 0x60]
mov rcx, r12
mov rax, qword [0x140030080]
call qword [0x1400270f0]
xor r12d, r12d
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140019c31
mov rcx, rax
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov rax, qword [rbp - 8]
test rax, rax
je 0x140019c4a
mov rcx, rax
mov rax, qword [0x140030030]
call qword [0x1400270f0]
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x140019c63
mov rcx, rax
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov rax, qword [rbp + 0x848]
or r15, 0xffffffffffffffff
test rax, rax
je 0x140019cc1
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x140019c76
mov rdi, qword [rbp + 0x848]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x848]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x848], r12
mov rax, qword [rbp + 0x850]
test rax, rax
je 0x140019d1b
mov rcx, r15
inc rcx
cmp word [rax + rcx*2], r12w
jne 0x140019cd0
mov rdi, qword [rbp + 0x850]
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x850]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x850], r12
mov rdi, qword [rbp + 0x858]
test rdi, rdi
je 0x140019d6e
mov rcx, r15
inc rcx
cmp word [rdi + rcx*2], r12w
jne 0x140019d2a
lea rcx, [rcx*2 + 2]
xor eax, eax
rep stosb byte [rdi], al
mov rdi, qword [rbp + 0x858]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp + 0x858], r12
mov rcx, qword [rbp + 0x860]
test rcx, rcx
je 0x140019d8e
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov qword [rbp + 0x860], r12
mov rcx, qword [rbp + 0x868]
test rcx, rcx
je 0x140019dae
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov qword [rbp + 0x868], r12
mov rcx, qword [rbp + 0x870]
test rcx, rcx
je 0x140019dce
mov rax, qword [0x140030038]
call qword [0x1400270f0]
mov qword [rbp + 0x870], r12
mov r13d, 1
xor eax, eax
lock cmpxchg dword [0x1400325c0], r13d
jne 0x140019dd4
mov eax, dword [0x1400325bc]
test eax, eax
jle 0x140019e4b
sub eax, r13d
mov dword [0x1400325bc], eax
jne 0x140019e4b
lea rdi, [0x140032080]
mov r15d, 4
mov rcx, qword [rdi]
test rcx, rcx
je 0x140019e17
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r15, r13
jne 0x140019e03
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x140032080]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r12d
xchg dword [0x1400325c0], eax
mov eax, dword [0x140032070]
mov dword [rsp + 0x68], eax
mov rax, qword [0x140030098]
call qword [0x1400270f0]
sub eax, dword [0x1400325b0]
xorps xmm0, xmm0
mov qword [rbp - 0x20], rax
xor eax, eax
mov qword [rbp + 0xd68], rax
movups xmmword [rbp + 0xd38], xmm0
movups xmmword [rbp + 0xd48], xmm0
movups xmmword [rbp + 0xd58], xmm0
xor eax, eax
lock cmpxchg dword [0x1400325c0], r13d
jne 0x140019e96
mov eax, dword [0x1400325bc]
test eax, eax
jne 0x14001a4a2
xor eax, eax
mov dword [rbp - 0x78], r12d
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x308], rax
mov qword [rbp + 0x310], rax
mov dword [rsp + 0x78], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
xor edx, edx
mov r8d, 0x338
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r8d, r8d
mov qword [rbp + 8], rax
test rax, rax
je 0x14001a401
mov ebx, r8d
lea rsi, [rax + 7]
or r14d, 0xffffffff
lea r12, [0x14002a292]
mov r15d, r8d
lea ecx, [r8 + 0x67]
mov r11d, r8d
movzx eax, byte [r12 - 1]
movzx r10d, byte [r12 - 2]
movzx r9d, byte [r12 + 2]
shl r10d, 8
or r10d, eax
shl r9d, 8
movzx eax, byte [r12]
lea r12, [r12 + 8]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 7]
shl r10d, 8
or r10d, eax
movzx eax, byte [r12 - 5]
or r9d, eax
xor r11d, r10d
movzx eax, byte [r12 - 4]
shl r9d, 8
or r9d, eax
movzx eax, byte [r12 - 3]
shl r9d, 8
or r9d, eax
mov r8d, r9d
xor r8d, r15d
xor r8d, r11d
xor r8d, 0xac987321
lea eax, [r8 + 0x54969fa2]
rol eax, 5
imul edx, eax, 0x137f
mov eax, r8d
rol eax, 0xa
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x7f1137f]
ror eax, 9
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 2
sub edx, eax
xor r8d, edx
imul edx, r8d, 0x605e
mov eax, r8d
shr eax, 0xd
sub edx, eax
sub edx, 0x756c8a2
xor r11d, edx
mov eax, r11d
xor eax, 0xab69
rol eax, 6
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 2
sub edx, eax
mov eax, 0x7f1137f
xor r8d, edx
mov edx, r8d
xor edx, 0xab69605e
sub eax, edx
xor r11d, eax
mov eax, r11d
mov edi, r11d
xor eax, 0x137f
ror edi, 6
imul edx, eax, 0xab69
xor edi, edx
xor r8d, edi
lea eax, [r8 + 0x7f1137f]
ror eax, 0xf
imul edx, eax, 0x605e
mov eax, r8d
rol eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 + 0x54969fa2]
ror eax, 0xe
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 8
sub edx, eax
xor r8d, edx
mov eax, r8d
mov edi, 0xab69605e
xor eax, edi
ror eax, 0xc
imul edx, eax, 0x137f
mov eax, r8d
ror eax, 0xa
xor edx, eax
xor r11d, edx
mov eax, r11d
xor eax, 0x7f1
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 0xa
xor edx, eax
xor edx, r8d
mov r8d, 0x605e
mov eax, edx
not eax
ror eax, 5
add eax, r8d
imul eax, eax, 0x7f1
xor r11d, eax
lea r15d, [r11 - 0x7f1]
xor r15d, edx
xor r15d, edi
mov eax, r15d
xor eax, 0x7f1
rol eax, 2
imul edx, eax, 0x137f
mov eax, r15d
shr eax, 2
add edx, eax
xor r11d, edx
lea eax, [r11 - 0x7f1137f]
ror eax, 6
imul edx, eax, 0xab69
mov eax, r11d
rol eax, 7
add edx, eax
xor r15d, edx
mov eax, r15d
mov edi, r15d
xor eax, 0x137f
ror edi, 9
imul edx, eax, 0x605e
add edi, edx
xor r11d, edi
mov eax, r11d
xor eax, 0xab69
rol eax, 5
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 7
add edx, eax
xor r15d, edx
xor r11d, r15d
xor r11d, 0xac987321
mov eax, r11d
ror eax, 3
imul edx, eax, 0x137f
sub edx, 0xd0dd417
xor r15d, edx
lea eax, [r15 - 0x7f1137f]
ror eax, 1
imul edx, eax, 0x605e
mov eax, r15d
ror eax, 6
sub edx, eax
xor r11d, edx
lea eax, [r11 - 0x54969fa2]
rol eax, 3
imul edx, eax, 0x7f1
mov eax, r11d
rol eax, 0xe
add edx, eax
xor r15d, edx
lea eax, [r15 - 0x54969fa2]
rol eax, 0xf
imul edx, eax, 0x137f
mov eax, r15d
ror eax, 0xe
sub edx, eax
xor r11d, edx
mov eax, r11d
xor eax, r8d
imul edx, eax, 0xab69
mov eax, r11d
shr eax, 3
xor edx, eax
xor r15d, edx
mov eax, r15d
xor eax, 0x7f1137f
rol eax, 4
imul edx, eax, 0x605e
mov eax, r15d
xor r15d, r14d
rol eax, 2
mov r14d, r9d
xor edx, eax
xor edx, ebx
mov ebx, r10d
xor r11d, edx
mov byte [rsi - 4], r11b
mov byte [rsi], r15b
lea rsi, [rsi + 8]
ror r11d, 8
mov byte [rsi - 0xd], r11b
ror r15d, 8
mov byte [rsi - 9], r15b
ror r11d, 8
mov byte [rsi - 0xe], r11b
ror r15d, 8
mov byte [rsi - 0xa], r15b
ror r11d, 8
ror r15d, 8
mov byte [rsi - 0xf], r11b
mov byte [rsi - 0xb], r15b
ror r15d, 8
ror r11d, 8
sub rcx, r13
jne 0x140019f1c
mov r14d, dword [rbp - 0x18]
xor r8d, r8d
mov r12d, dword [rsp + 0x78]
mov eax, r8d
mov r13, qword [rbp + 8]
mov cl, r8b
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
lea edx, [r8 + 1]
mov edi, 0x338
xor cl, byte [rax + r13]
add rax, rdx
cmp rax, rdi
jb 0x14001a24e
movzx eax, cl
cmp rax, qword [0x14002a5c8]
je 0x14001a26d
mov edi, 0xc004d501
jmp 0x14001a281
mov qword [rbp + 0x308], r13
mov r13, r8
mov qword [rbp + 0x310], rdi
mov edi, r8d
test r13, r13
je 0x14001a2a9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r8d, r8d
test edi, edi
js 0x14001a401
mov rax, qword [rbp + 0x310]
lea r15, [0x140032080]
mov rdi, qword [rbp + 0x308]
xor edx, edx
mov rcx, r15
mov byte [rax + rdi - 1], r8b
lea r8d, [rdx + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
xor r8d, r8d
jmp 0x14001a3f6
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp word [rdi + rax*2], r8w
jne 0x14001a2e8
lea rdi, [rdi + rax*2]
mov eax, dword [rbp - 0x70]
lea rcx, [rax + rax*2]
lea r15, [r15 + rcx*8]
xor ecx, ecx
mov r8, r15
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r8d, r8d
test eax, eax
je 0x14001a401
mov rax, qword [r15]
mov ecx, 0x5a4d
mov r12d, r8d
cmp word [rax], cx
je 0x14001a335
mov r12d, 0xc000007b
jmp 0x14001a381
movsxd rcx, dword [rax + 0x3c]
cmp ecx, 0x10000000
jae 0x14001a32d
add rcx, qword [r15]
cmp rcx, qword [r15]
jb 0x14001a32d
cmp dword [rcx], 0x4550
jne 0x14001a32d
movzx eax, word [rcx + 0x18]
mov edx, 0x10b
sub ax, dx
mov edx, 0xfeff
test dx, ax
je 0x14001a36f
mov r12d, 0xc000000d
jmp 0x14001a381
mov rax, qword [rcx + 0x88]
mov qword [r15 + 0xc], rax
mov eax, dword [rcx + 0x50]
mov dword [r15 + 8], eax
mov eax, dword [rdi + 2]
mov r13d, r8d
add rdi, 6
mov dword [rsp + 0x78], eax
test eax, eax
je 0x14001a3e7
mov rdx, rdi
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdi + rax], r8b
jne 0x14001a39a
inc rdi
add rdi, rax
test r12d, r12d
js 0x14001a3d3
mov rcx, qword [r15]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
xor r8d, r8d
test rax, rax
je 0x14001a407
mov ecx, dword [rbp - 0x78]
lea rdx, section..data
mov qword [rdx + rcx*8], rax
mov eax, 1
add dword [rbp - 0x78], eax
add r13d, eax
cmp r13d, dword [rsp + 0x78]
jb 0x14001a393
jmp 0x14001a3ec
mov eax, 1
add dword [rbp - 0x70], eax
lea r15, [0x140032080]
cmp byte [rdi], r8b
jne 0x14001a2e1
jmp 0x14001a407
mov r12d, 0xc000007a
mov rdi, qword [rbp + 0x308]
test rdi, rdi
je 0x14001a433
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r13d, 1
test r12d, r12d
jns 0x14001a499
lea rdi, [0x140032080]
xor r12d, r12d
lea r15d, [r13 + 3]
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001a460
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r15, r13
jne 0x14001a44c
lea rdi, [0x140032080]
xor edx, edx
mov rcx, rdi
lea r8d, [r15 + 0x60]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
jmp 0x14001a4b2
mov eax, dword [0x1400325bc]
xor r12d, r12d
add eax, r13d
lea rdi, [0x140032080]
mov dword [0x1400325bc], eax
mov rcx, qword [rbp - 0x20]
lea r9, [rbp + 0xd30]
mov eax, r12d
mov r15d, 4
xchg dword [0x1400325c0], eax
mov eax, dword [rsp + 0x68]
mov r8d, r15d
mov dword [rbp + 0xd68], eax
mov edx, 0x2021
mov rax, qword [0x1400300d0]
mov dword [rbp + 0xd38], ecx
xor ecx, ecx
mov dword [rbp + 0xd30], r13d
mov dword [rbp + 0xd48], 0x9966f291
mov dword [rbp + 0xd40], r13d
mov dword [rbp + 0xd58], r13d
mov dword [rbp + 0xd50], r13d
mov dword [rbp + 0xd60], r13d
call qword [0x1400270f0]
xor eax, eax
lock cmpxchg dword [0x1400325c0], r13d
jne 0x14001a520
mov eax, dword [0x1400325bc]
test eax, eax
jle 0x14001a58a
sub eax, r13d
mov dword [0x1400325bc], eax
jne 0x14001a58a
mov rcx, qword [rdi]
test rcx, rcx
je 0x14001a556
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
nop dword [rax + rax]
add rdi, 0x18
sub r15, r13
jne 0x14001a542
xor edx, edx
lea r8d, [r15 + 0x60]
lea rcx, [0x140032080]
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov r8d, 0x170
lea rdx, [0x140026140]
lea rcx, section..data
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, r12d
xchg dword [0x1400325c0], eax
mov rdx, qword [rbp + 0x30]
xor ecx, ecx
mov rax, qword [0x140030160]
call qword [0x1400270f0]
lea rcx, [rbp + 0x250]
call fcn.140020a98
xor r10d, r10d
cmp dword [rbp + 0xbc], r10d
je 0x14001c6f6
xorps xmm0, xmm0
mov qword [rbp + 0x3e8], r10
lea rax, [0x140030b50]
mov r13d, r10d
movups xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x318], rax
mov r12d, r10d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r15d, [r12 + 8]
mov r8d, 0xa0
mov rcx, rax
mov edx, r15d
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x14001c62a
mov rcx, qword [rbp + 0x318]
mov r13, rdi
mov qword [rbp - 0x20], rdi
movups xmm0, xmmword [rcx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea eax, [r15 + 0x78]
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdi + rax - 0x10], xmm1
movups xmm0, xmmword [rcx + rax]
movups xmmword [rdi + rax], xmm0
movups xmm1, xmmword [rcx + rax + 0x10]
movups xmmword [rdi + rax + 0x10], xmm1
lea rax, [0x140030a90]
mov qword [rbp + 0x320], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r15d
mov edx, r15d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r15, rax
test rax, rax
je 0x14001c62a
mov rcx, qword [rbp + 0x320]
mov r12, rax
mov qword [rbp + 8], rax
mov rdx, qword [rcx]
mov qword [rax], rdx
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x328], rax
mov dword [rbp + 0xc4], 0xc
mov dword [rbp + 0x3e4], 0xc4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov r8d, 0xc4
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x14001c62a
mov qword [rbp + 0x3e8], rax
mov dword [rbp + 0x3e0], r10d
mov dword [rbp + 0xc8], 4
lea r8, [rax + 4]
cmp r8, rax
jb 0x14001c62a
mov ecx, dword [rbp + 0x3e4]
add rcx, rax
add rax, 8
cmp rax, rcx
ja 0x14001c62a
mov dword [rdx], 4
mov eax, dword [rbp + 0xc8]
mov dword [r8], eax
mov edx, dword [rbp + 0x3e0]
inc edx
mov dword [rbp + 0x3e0], edx
cmp qword [rbp + 0x3e8], r10
jne 0x14001a7c4
mov dword [rbp + 0xd0], Ordinal_170
mov eax, dword [rbp + 0x3e4]
lea ecx, [rax + 0xa4]
cmp ecx, eax
jb 0x14001c62a
lea eax, [rdx + 1]
mov dword [rbp + 0x3e4], ecx
mov dword [rbp + 0x3e0], eax
lea r9d, [r10 + 1]
jmp 0x14001a8a2
mov r8, qword [rbp + 0x3e8]
mov ecx, r10d
test edx, edx
je 0x14001a808
mov eax, dword [r8]
add eax, 4
cmp eax, 4
jb 0x14001c62a
mov dword [rbp + 0xd0], eax
mov r9d, eax
add r9, r8
cmp r9, r8
jb 0x14001c62a
mov r8, r9
mov r9d, 1
add ecx, r9d
cmp ecx, edx
jb 0x14001a7d2
jmp 0x14001a80e
mov r9d, 1
lea rdx, [r8 + 4]
cmp rdx, r8
jb 0x14001c62a
mov ecx, dword [rbp + 0x3e4]
lea rax, [r8 + 0xa4]
add rcx, qword [rbp + 0x3e8]
cmp rax, rcx
ja 0x14001c62a
mov dword [r8], 0xa0
mov eax, 0x80
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rdi + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rdi + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rdi + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rdi + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rdi + 0x60]
movups xmmword [rdx + 0x60], xmm0
movups xmm1, xmmword [rdi + 0x70]
movups xmmword [rdx + rax - 0x10], xmm1
movups xmm0, xmmword [rdi + rax]
movups xmmword [rdx + rax], xmm0
movups xmm1, xmmword [rdi + rax + 0x10]
movups xmmword [rdx + rax + 0x10], xmm1
add dword [rbp + 0x3e0], r9d
mov ecx, dword [rbp + 0x3e4]
cmp qword [rbp + 0x3e8], r10
jne 0x14001a8da
mov dword [rbp + 0xd4], 0xc
lea edx, [rcx + 0xc]
cmp edx, ecx
jb 0x14001c62a
mov rax, qword [rbp + 0x328]
add dword [rbp + 0x3e0], r9d
mov qword [rbp + 0x330], rax
jmp 0x14001a96f
mov edi, r10d
mov rdx, qword [rbp + 0x3e8]
cmp dword [rbp + 0x3e0], r10d
jbe 0x14001a91e
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001c62a
mov dword [rbp + 0xd4], eax
mov r8d, eax
add r8, rdx
cmp r8, rdx
jb 0x14001c62a
add edi, r9d
mov rdx, r8
cmp edi, dword [rbp + 0x3e0]
jb 0x14001a8ed
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c62a
add rcx, qword [rbp + 0x3e8]
lea rax, [rdx + 0xc]
cmp rax, rcx
ja 0x14001c62a
mov dword [rdx], 8
mov rax, qword [r15]
mov qword [rdi], rax
add dword [rbp + 0x3e0], r9d
mov rax, qword [rbp + 0x328]
mov qword [rbp + 0x330], rax
cmp qword [rbp + 0x3e8], r10
jne 0x14001a98c
mov edx, dword [rbp + 0x3e4]
mov dword [rbp + 0xd8], 0xc
lea ecx, [rdx + 0xc]
cmp ecx, edx
jb 0x14001c62a
mov dword [rbp + 0x3e4], ecx
jmp 0x14001aa0a
mov ecx, r10d
mov rdx, qword [rbp + 0x3e8]
cmp dword [rbp + 0x3e0], r10d
jbe 0x14001a9cd
mov eax, dword [rdx]
add eax, 4
cmp eax, 4
jb 0x14001c62a
mov dword [rbp + 0xd8], eax
add rax, rdx
cmp rax, rdx
jb 0x14001c62a
add ecx, r9d
mov rdx, rax
cmp ecx, dword [rbp + 0x3e0]
jb 0x14001a99f
lea rdi, [rdx + 4]
cmp rdi, rdx
jb 0x14001c62a
mov ecx, dword [rbp + 0x3e4]
lea rax, [rdx + 0xc]
add rcx, qword [rbp + 0x3e8]
cmp rax, rcx
ja 0x14001c62a
mov dword [rdx], 8
mov rax, qword [rbp + 0x330]
mov qword [rdi], rax
mov ecx, dword [rbp + 0x3e4]
add dword [rbp + 0x3e0], r9d
mov dword [rbp + 0xdc], 0xc
mov r9, r10
mov qword [rbp + 0x28], r10
mov r8d, r10d
mov dword [rsp + 0x68], r10d
mov qword [rbp + 0x338], r10
mov r15, r10
mov qword [rbp + 0x20], r10
mov r13, r10
mov dword [rbp - 0x78], r10d
mov qword [rbp + 0x18], r10
mov dword [rbp + 0xe0], r10d
mov qword [rbp], r10
mov qword [rbp + 0x30], r10
mov dword [rbp + 0xe4], r10d
rdtsc
shl rdx, 0x20
or rax, rdx
mov qword [rbp + 0x340], rax
lea eax, [rcx + 8]
mov edx, 0xc0000095
or ecx, 0xffffffff
cmp eax, 8
cmovae ecx, eax
sbb edi, edi
and edi, edx
cmp eax, 8
jb 0x14001ab85
mov eax, ecx
add rax, 7
and eax, 0xfffffff8
cmp eax, ecx
jae 0x14001aa9b
mov edi, edx
jmp 0x14001ab85
mov dword [rbp + 0xe8], eax
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov r12, rax
test rax, rax
jne 0x14001aae1
mov r8d, r10d
mov edi, 0xc0000017
mov r9d, r8d
jmp 0x14001ab85
mov eax, dword [rbp + 0x3e0]
lea rdx, [r12 + 4]
mov dword [r12], eax
cmp rdx, r12
jb 0x14001ab49
mov eax, dword [rbp + 0x3e4]
lea rcx, [rdx + 4]
mov dword [rdx], eax
cmp rcx, rdx
jb 0x14001ab49
mov edx, dword [rbp + 0xe8]
mov edi, r10d
mov rax, qword [rbp + 0x340]
mov qword [rdx + r12 - 8], rax
mov r8d, dword [rbp + 0x3e4]
mov rdx, qword [rbp + 0x3e8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov r8d, dword [rbp + 0xe8]
xor r10d, r10d
mov r9, r12
mov qword [rbp + 0x28], r12
mov r12d, r10d
mov dword [rsp + 0x68], r8d
jmp 0x14001ab54
mov r8d, r10d
mov edi, 0xc0000095
mov r9d, r8d
test r12, r12
je 0x14001ab85
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r8d, dword [rsp + 0x68]
xor r10d, r10d
mov r9, qword [rbp + 0x28]
or edi, 0x10000000
jl 0x14001c338
mov qword [rbp + 0x348], r10
mov r13, r10
mov qword [rbp - 8], r10
test r9, r9
jne 0x14001abae
mov edi, 0xc000000d
jmp 0x14001b426
mov r12d, r8d
mov qword [rbp - 0x38], r12
test r8d, r8d
je 0x14001b330
lea rdi, [r12 + 8]
mov qword [rbp - 0x40], rdi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14001b330
mov r8, qword [rbp + 0x28]
mov dl, r10b
mov byte [rsp + 0x60], dl
mov ecx, r10d
test r12, r12
je 0x14001ac1e
lea edi, [r10 + 1]
xor dl, byte [rcx + r8]
add rcx, rdi
cmp rcx, r12
jb 0x14001ac0e
mov byte [rsp + 0x60], dl
mov r11, rax
mov qword [rbp + 0x8c8], rbx
xor eax, eax
or r9d, 0xffffffff
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x78], eax
mov rax, r12
and eax, 7
je 0x14001ad51
xor r9d, r9d
mov dword [rsp + 0x78], r9d
mov ecx, r9d
mov dword [rsp + 0x68], ecx
mov edi, r9d
test eax, eax
je 0x14001acb6
mov r9d, 0x38
mov esi, ecx
lea ebx, [r9 - 0x37]
movzx edi, byte [r8]
inc r8
cmp r10d, 4
jge 0x14001ac7f
lea ecx, [r9 - 0x20]
shl edi, cl
mov ecx, dword [rsp + 0x68]
or esi, edi
jmp 0x14001ac8e
mov ecx, r9d
shl edi, cl
mov ecx, dword [rsp + 0x68]
or ecx, edi
mov dword [rsp + 0x68], ecx
add r10d, ebx
sub r9d, 8
cmp r10d, eax
jl 0x14001ac64
mov dword [rsp + 0x78], esi
movabs rbx, 0xc81ecb17b1b54a58
mov edi, dword [rsp + 0x78]
movabs rsi, 0x7f1137fab69605e
and dword [rbp - 0x70], r15d
mov r10d, edi
mov r9d, ecx
xor r10d, 0xb17a307a
xor r9d, 0x42f6b18d
mov ecx, r10d
mov edi, r9d
test eax, eax
je 0x14001ad23
mov esi, dword [rbp - 0x70]
mov r14d, 1
lea rbx, [r11 + 1]
mov qword [rbp - 0x70], rbx
cmp esi, 4
jge 0x14001acf5
rol ecx, 8
mov ebx, ecx
jmp 0x14001acfa
rol edi, 8
mov ebx, edi
mov byte [r11], bl
add esi, r14d
mov rbx, qword [rbp - 0x70]
mov r11, rbx
cmp esi, eax
jl 0x14001ace1
mov r14d, dword [rbp - 0x18]
movabs rbx, 0xc81ecb17b1b54a58
movabs rsi, 0x7f1137fab69605e
cmp eax, 4
jbe 0x14001ad3a
mov ecx, 8
sub ecx, eax
shl ecx, 3
shr r9d, cl
shl r9d, cl
jmp 0x14001ad51
xor r9d, r9d
cmp eax, 4
jae 0x14001ad51
lea ecx, [r9 + 4]
sub ecx, eax
shl ecx, 3
shr r10d, cl
shl r10d, cl
mov rax, r12
shr rax, 3
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14001b0b5
movzx eax, word [rbp + 0x8ce]
lea r12, [r11 + 7]
mov r11, qword [rbp - 0x60]
lea rdx, [r8 + 2]
mov esi, dword [rsp + 0x68]
mov r15d, dword [rsp + 0x78]
movzx r13d, word [rbp + 0x8cc]
mov dword [rbp - 0x70], eax
movzx eax, word [rbp + 0x8ca]
mov dword [rbp - 0x80], eax
movzx r14d, bx
movzx eax, byte [rdx - 1]
movzx r8d, byte [rdx - 2]
movzx edi, byte [rdx + 2]
shl r8d, 8
or r8d, eax
shl edi, 8
movzx eax, byte [rdx]
lea rdx, [rdx + 8]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx - 7]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx - 5]
or edi, eax
movzx eax, byte [rdx - 4]
shl edi, 8
or edi, eax
movzx eax, byte [rdx - 3]
shl edi, 8
or edi, eax
xor r9d, edi
mov eax, r9d
sub eax, r14d
xor eax, r8d
xor r10d, eax
movzx eax, word [rbp + 0x8ca]
xor r10d, dword [rbp + 0x8cc]
mov ecx, r10d
xor ecx, dword [rbp + 0x8cc]
ror ecx, 0xf
imul ecx, eax
mov eax, r10d
ror eax, 7
add ecx, eax
xor r9d, ecx
mov eax, r9d
ror eax, 0xa
lea ecx, [r9 + rbx]
ror ecx, 9
imul ecx, r13d
sub ecx, eax
movzx eax, word [rbp + 0x8ce]
xor r10d, ecx
mov ecx, r10d
xor ecx, r13d
rol ecx, 4
imul ecx, eax
mov eax, r10d
rol eax, 5
add ecx, eax
mov eax, dword [rbp + 0x8cc]
xor r9d, ecx
mov ecx, r9d
xor ecx, ebx
sub eax, ecx
xor r10d, eax
movzx eax, word [rbp + 0x8ca]
mov ecx, r10d
sub ecx, r14d
imul ecx, eax
mov eax, r10d
shr eax, 6
sub ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8ce]
mov eax, r9d
ror eax, 0xf
xor eax, r13d
imul eax, r14d
xor r10d, eax
mov eax, r10d
not eax
ror eax, 3
add eax, ecx
imul eax, r13d
xor r9d, eax
mov eax, r9d
sub eax, r14d
sub eax, dword [rbp + 0x8cc]
xor r10d, eax
mov eax, r10d
mov ecx, r10d
xor eax, dword [rbp - 0x70]
imul eax, dword [rbp - 0x80]
ror ecx, 0xa
xor ecx, eax
xor r9d, ecx
mov ecx, r14d
xor ecx, r9d
mov eax, r9d
rol ecx, 6
imul ecx, r13d
ror eax, 3
xor ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x8ce]
mov eax, r10d
ror eax, 0xf
sub eax, ecx
imul eax, r14d
xor r9d, eax
movzx eax, word [rbp + 0x8ce]
mov ecx, r9d
xor ecx, eax
mov eax, r9d
imul ecx, r14d
shr eax, 1
xor ecx, eax
mov eax, r9d
xor r10d, ecx
shr eax, 0xf
mov ecx, r9d
sub ecx, r13d
rol ecx, 3
imul ecx, r14d
xor ecx, eax
movzx eax, word [rbp + 0x8ca]
xor r10d, ecx
mov ecx, r10d
sub ecx, r13d
imul ecx, eax
mov eax, r10d
shr eax, 0xd
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
mov eax, r9d
ror ecx, 9
imul ecx, r13d
ror eax, 0xb
xor ecx, eax
xor r10d, ecx
movzx ecx, word [rbp + 0x8ce]
mov eax, r10d
sub eax, ebx
sub eax, ecx
xor r9d, eax
mov eax, r9d
mov ecx, r9d
xor eax, dword [rbp - 0x80]
ror ecx, 7
imul eax, r14d
sub eax, ecx
xor r10d, eax
movzx eax, word [rbp + 0x8ce]
mov ecx, r10d
xor ecx, eax
movzx eax, word [rbp + 0x8ca]
rol ecx, 4
imul ecx, eax
mov eax, r10d
ror eax, 0x10
sub ecx, eax
xor r9d, ecx
mov ecx, ebx
sub ecx, r9d
mov eax, r9d
ror ecx, 0xa
imul ecx, r13d
ror eax, 4
add ecx, eax
movzx eax, word [rbp + 0x8ce]
xor r10d, ecx
mov ecx, r10d
sub ecx, ebx
ror ecx, 4
imul ecx, eax
mov eax, r10d
ror eax, 9
xor ecx, eax
xor r9d, ecx
mov ecx, r9d
mov eax, r9d
xor ecx, dword [rbp + 0x8cc]
rol ecx, 8
imul ecx, r14d
rol eax, 2
sub ecx, eax
movzx eax, word [rbp + 0x8ca]
xor r10d, ecx
mov ecx, dword [rbp + 0x8cc]
sub ecx, r10d
ror ecx, 0xb
imul ecx, eax
mov eax, r10d
ror eax, 0xc
sub ecx, eax
xor r9d, ecx
movzx ecx, word [rbp + 0x8ca]
xor ecx, r9d
mov eax, r9d
imul ecx, r13d
shr eax, 8
xor ecx, eax
xor r10d, ecx
xor r9d, r10d
xor r10d, r15d
xor r9d, dword [rbp + 0x8cc]
mov r15d, r8d
mov byte [r12 - 4], r10b
xor r9d, ebx
xor r9d, esi
ror r10d, 8
mov byte [r12], r9b
mov esi, edi
mov byte [r12 - 5], r10b
lea r12, [r12 + 8]
ror r9d, 8
mov byte [r12 - 9], r9b
ror r10d, 8
mov byte [r12 - 0xe], r10b
ror r9d, 8
mov byte [r12 - 0xa], r9b
ror r10d, 8
ror r9d, 8
mov byte [r12 - 0xf], r10b
mov byte [r12 - 0xb], r9b
ror r9d, 8
ror r10d, 8
sub r11, 1
jne 0x14001ad9a
mov dl, byte [rsp + 0x60]
movabs rsi, 0x7f1137fab69605e
mov r14d, dword [rbp - 0x18]
mov r15, qword [rbp]
mov r13, qword [rbp - 8]
mov r12, qword [rbp - 0x38]
mov rdi, qword [rbp - 0x28]
movzx eax, dl
mov qword [rdi + r12], rax
mov r12, qword [rbp - 0x40]
mov qword [rbp + 0x350], r12
mov qword [rbp + 0x348], rdi
lea rax, [0x140030b40]
mov ebx, 8
mov qword [rbp + 0x358], rax
mov qword [rbp + 0x360], rbx
lea rax, [0x140030aa0]
mov qword [rbp + 0x370], Ordinal_170
mov qword [rbp + 0x368], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
lea r8d, [rbx + 0x28]
mov edx, ebx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x14001b13b
mov edi, 0xc0000017
jmp 0x14001b320
mov r12d, r12d
mov dword [rax], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, r12d
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x14001b176
mov edi, 0xc0000017
jmp 0x14001b265
mov qword [rbx + 8], rax
mov r8, r12
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov edi, 0xa0
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edi, 8
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x14001b16c
mov qword [rbx + 0x18], rax
lea rcx, [0x140030aa0]
movups xmm0, xmmword [rcx]
lea edx, [rdi + 0x78]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rax + 0x60], xmm0
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rax + rdx - 0x10], xmm1
movups xmm0, xmmword [rcx + rdx]
movups xmmword [rax + rdx], xmm0
movups xmm1, xmmword [rcx + rdx + 0x10]
movups xmmword [rax + rdx + 0x10], xmm1
mov dword [rbx + 0x20], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, edi
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rcx, rax
test rax, rax
je 0x14001b16c
mov qword [rbx + 0x28], rax
mov rax, qword [0x140030b40]
mov r13, rbx
mov qword [rcx], rax
mov edi, r10d
mov ebx, r10d
test rbx, rbx
je 0x14001b320
mov r12, qword [rbx + 8]
test r12, r12
je 0x14001b29e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14001b2ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14001b2fd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test edi, edi
js 0x14001b335
mov qword [rbp + 0x338], r13
mov r13, r10
jmp 0x14001b335
mov edi, 0xc0000001
mov rbx, qword [rbp + 0x348]
test rbx, rbx
je 0x14001b36b
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x348], r10
test r13, r13
je 0x14001b426
mov rbx, qword [r13 + 8]
test rbx, rbx
je 0x14001b3a4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r13 + 8], r10
mov rbx, qword [r13 + 0x18]
test rbx, rbx
je 0x14001b3d4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r13 + 0x18], r10
mov rbx, qword [r13 + 0x28]
test rbx, rbx
je 0x14001b403
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r13 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
or edi, 0x10000000
jl 0x14001c334
mov rbx, qword [rbp + 0x338]
mov ecx, dword [rbx]
mov edi, dword [rbx + 0x20]
add ecx, 4
mov edx, dword [rbx + 0x10]
cmp ecx, 4
jb 0x14001b586
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14001b586
lea ecx, [rax + rdx]
cmp ecx, eax
jb 0x14001b586
lea eax, [rcx + 4]
cmp eax, ecx
jb 0x14001b586
lea ecx, [rax + rdi]
cmp ecx, eax
jb 0x14001b586
mov dword [rbp + 0x118], ecx
mov edi, ecx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r13d, r13d
mov r12, rax
test rax, rax
jne 0x14001b4bf
mov edi, 0xc0000017
mov r8d, 0xc0000095
jmp 0x14001b592
mov eax, dword [rbx]
lea rdi, [r12 + 4]
mov dword [r12], eax
cmp rdi, r12
jb 0x14001b553
mov r8d, dword [rbx]
mov rcx, rdi
mov rdx, qword [rbx + 8]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbx]
add rcx, rdi
cmp rcx, rdi
jb 0x14001b553
mov eax, dword [rbx + 0x10]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x14001b553
mov r8d, dword [rbx + 0x10]
mov rcx, rdi
mov rdx, qword [rbx + 0x18]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov ecx, dword [rbx + 0x10]
add rcx, rdi
cmp rcx, rdi
jb 0x14001b553
mov eax, dword [rbx + 0x20]
lea rdi, [rcx + 4]
mov dword [rcx], eax
cmp rdi, rcx
jb 0x14001b553
mov r8d, dword [rbx + 0x20]
mov rcx, rdi
mov rdx, qword [rbx + 0x28]
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
mov eax, dword [rbx + 0x20]
add rax, rdi
cmp rax, rdi
jb 0x14001b553
mov eax, dword [rbp + 0x118]
mov edi, r13d
mov qword [rbp + 0x20], r12
mov r12, r13
mov dword [rbp - 0x78], eax
jmp 0x14001b558
mov edi, 0xc0000095
test r12, r12
je 0x14001b4b4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
jmp 0x14001b4b4
mov r8d, 0xc0000095
xor r13d, r13d
mov edi, r8d
or edi, 0x10000000
jl 0x14001b6ac
mov dword [rbp + 0xf0], r13d
mov dword [rbp + 0xf4], 0x1c
mov eax, 0x28
mov dword [rbp + 0xf8], eax
mov dword [rbp + 0xfc], eax
lea r12d, [rax - 0x27]
cmp qword [rbp + 0x3e8], r13
jne 0x14001b5d7
mov edi, 0xc000000d
jmp 0x14001b6bf
cmp dword [rbp + 0x3e0], r12d
jbe 0x14001b5cd
mov rax, qword [rbp + 0x3e8]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001b6bc
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001b6bc
add edx, r12d
cmp edx, r12d
jb 0x14001b5ea
mov edi, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001b6bc
test edi, edi
mov dword [rbp + 0xf0], edi
mov rax, r13
cmovne rax, rcx
mov qword [rbp + 0x378], rax
cmp dword [rbp + 0x3e0], 2
jbe 0x14001b5cd
mov rax, qword [rbp + 0x3e8]
mov edx, r13d
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001b6bc
mov eax, dword [rax]
add rax, rcx
cmp rax, rcx
jb 0x14001b6bc
add edx, r12d
cmp edx, 2
jb 0x14001b645
mov edx, dword [rax]
lea rcx, [rax + 4]
cmp rcx, rax
jb 0x14001b6bc
test edx, edx
mov dword [rbp + 0x100], edx
mov rax, r13
cmovne rax, rcx
mov qword [rbp + 0x380], rax
lea eax, [rdi + 0x30]
cmp eax, 0x30
jb 0x14001b6bc
lea ecx, [rax + 4]
cmp ecx, eax
jb 0x14001b6bc
lea eax, [rcx + rdx]
cmp eax, ecx
jb 0x14001b6bc
mov dword [rbp + 0x104], eax
mov edi, r13d
cmp eax, 0x400000
jbe 0x14001b6b4
mov edi, 0x8000ffff
xor r10d, r10d
jmp 0x14001c334
mov dword [rbp + 0xe0], eax
jmp 0x14001b6bf
mov edi, r8d
test edi, edi
js 0x14001b6ac
mov edi, dword [rbp + 0xe0]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8d, edi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x14001b6fe
mov edi, 0xd0000017
mov ebx, r10d
jmp 0x14001b70a
mov rbx, rax
mov qword [rbp + 0x18], rax
mov edi, 0x10000000
test edi, edi
js 0x14001b71c
mov rax, qword [rbp + 0x20]
test rax, rax
jne 0x14001b724
mov edi, 0x80070057
mov r13, r10
jmp 0x14001c338
test rbx, rbx
je 0x14001b717
mov qword [rbp + 0x420], rax
lea r8, [rbp + 0x388]
mov eax, dword [rbp - 0x78]
lea rdx, str.ntdll.dll
mov dword [rbp + 0x430], eax
mov ecx, r12d
mov eax, dword [rbp + 0xe0]
mov dword [rbp + 0x434], eax
mov qword [rbp + 0x428], rbx
mov dword [rbp + 0x438], r10d
call qword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
nop dword [rax + rax]
xor r12d, r12d
test eax, eax
jne 0x14001b7a2
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax + rax]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
js 0x14001b79a
mov edi, 0x80004005
mov edx, dword [rbp + 0xe0]
jmp 0x14001b7f4
mov rcx, qword [rbp + 0x388]
lea rdx, str.NtQuerySystemInformation
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop dword [rax + rax]
test rax, rax
je 0x14001b777
xor r9d, r9d
lea rdx, [rbp + 0x420]
lea r8d, [r9 + 0x20]
lea ecx, [r8 + 0x66]
call qword [0x1400270f0]
mov edx, dword [rbp + 0xe0]
mov edi, eax
or edi, 0x10000000
cmovge edx, dword [rbp + 0x434]
mov dword [rbp + 0xe0], edx
xor r10d, r10d
cmp edi, 0xd0000023
jne 0x14001b80c
mov edi, 0x8007007a
mov r13, r12
jmp 0x14001c338
test edi, edi
js 0x14001b71c
mov qword [rbp - 8], r10
cmp edx, 4
jae 0x14001b827
mov edi, 0xc000003e
jmp 0x14001bbfe
mov r13d, dword [rbx]
lea rcx, [rbx + 4]
cmp rcx, rbx
jb 0x14001bbf9
lea eax, [rdx - 4]
cmp eax, r13d
jb 0x14001b81d
lea r9, [rcx + r13]
mov qword [rbp - 0x40], r9
cmp r9, rcx
jb 0x14001bbf9
lea r8d, [r13 + 4]
cmp r8d, 4
jb 0x14001bbf9
mov eax, edx
sub eax, r8d
cmp eax, 4
jb 0x14001b81d
mov edi, dword [r9]
lea rcx, [r9 + 4]
cmp rcx, r9
jb 0x14001bbf9
lea r9d, [r8 + 4]
cmp r9d, r8d
jb 0x14001bbf9
mov eax, edx
sub eax, r9d
cmp eax, edi
jb 0x14001b81d
lea r10, [rcx + rdi]
cmp r10, rcx
jb 0x14001bbf6
lea r8d, [r9 + rdi]
cmp r8d, r9d
jb 0x14001bbf6
mov eax, edx
sub eax, r8d
cmp eax, 4
jae 0x14001b8bf
mov edi, 0xc000003e
xor r10d, r10d
jmp 0x14001bbfe
mov r12d, dword [r10]
lea rax, [r10 + 4]
mov qword [rsp + 0x68], rax
cmp rax, r10
jb 0x14001bbf6
lea ecx, [r8 + 4]
cmp ecx, r8d
jb 0x14001bbf6
mov eax, edx
sub eax, ecx
cmp eax, r12d
jb 0x14001b8b2
lea r8d, [rcx + r12]
cmp r8d, ecx
jb 0x14001bbf6
cmp edx, r8d
jne 0x14001b8b2
lea ecx, [rdi + r13]
mov eax, edx
add ecx, r12d
add rcx, 0xc
cmp rcx, rax
jne 0x14001b8b2
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 0x28]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, rax
test rax, rax
jne 0x14001b947
mov edi, 0xc0000017
jmp 0x14001bb1f
mov r15, qword [rbp + 0x18]
add r15, 4
je 0x14001b9a0
mov dword [rax], r13d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
jne 0x14001b989
mov edi, 0xc0000017
jmp 0x14001ba64
mov qword [rbx + 8], rax
mov r8, r13
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14001b9a7
mov dword [rax], r10d
mov qword [rax + 8], r10
mov r15, qword [rbp - 0x40]
add r15, 4
je 0x14001b9f6
mov dword [rbx + 0x10], edi
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x14001b97f
mov qword [rbx + 0x18], rax
mov r8, rdi
mov rdx, r15
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14001b9fe
mov dword [rbx + 0x10], r10d
mov qword [rbx + 0x18], r10
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x14001ba52
mov dword [rbx + 0x20], r12d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
test rax, rax
je 0x14001b97f
mov qword [rbx + 0x28], rax
mov r8, r12
mov rdx, rdi
mov rcx, rax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
jmp 0x14001ba5a
mov dword [rbx + 0x20], r10d
mov qword [rbx + 0x28], r10
mov qword [rbp - 8], rbx
mov edi, r10d
mov rbx, r10
test rbx, rbx
je 0x14001bb1f
mov r15, qword [rbx + 8]
test r15, r15
je 0x14001ba9d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov r15, qword [rbx + 0x18]
test r15, r15
je 0x14001bacd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov r15, qword [rbx + 0x28]
test r15, r15
je 0x14001bafc
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov r15, qword [rbp - 8]
test edi, edi
mov rbx, r10
cmovs rbx, qword [rbp - 8]
cmovs r15, r10
mov qword [rbp], r15
test rbx, rbx
je 0x14001bbfe
mov r12, qword [rbx + 8]
test r12, r12
je 0x14001bb6e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov r12, qword [rbx + 0x18]
test r12, r12
je 0x14001bb9e
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov r12, qword [rbx + 0x28]
test r12, r12
je 0x14001bbcd
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov qword [rbp], r15
jmp 0x14001b8b7
xor r10d, r10d
mov edi, 0xc0000095
or edi, 0x10000000
jl 0x14001c334
mov qword [rbp - 8], r10
mov rbx, r10
mov qword [rbp + 0x390], rbx
mov r12, r10
test r15, r15
jne 0x14001bc2a
mov edi, 0xd000000d
jmp 0x14001c334
mov rdi, qword [r15 + 8]
mov qword [rbp - 0x38], rdi
test rdi, rdi
je 0x14001bc20
cmp dword [r15], r10d
je 0x14001bc20
mov r13d, dword [r15]
mov dword [rsp + 0x68], r10d
test r13, r13
je 0x14001c17a
add r13, 0xfffffffffffffff8
mov qword [rbp - 0x40], r13
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp - 0x28], rax
mov r8, rax
test rax, rax
je 0x14001c173
mov r9, rdi
mov qword [rbp + 0x8b8], rsi
mov rdi, r13
mov dword [rbp - 0x78], r10d
mov dl, r10b
mov rbx, rax
mov byte [rsp + 0x60], dl
and edi, 7
je 0x14001bda0
xor eax, eax
mov ecx, r10d
mov dword [rbp + 0x14], ecx
mov r11d, eax
test edi, edi
je 0x14001bd05
lea esi, [rax + 0x38]
lea r14d, [r10 + 1]
movzx eax, byte [r9]
inc r9
cmp r11d, 4
jge 0x14001bcdc
lea ecx, [rsi - 0x20]
shl eax, cl
mov ecx, dword [rbp + 0x14]
or r10d, eax
jmp 0x14001bce8
mov ecx, esi
shl eax, cl
mov ecx, dword [rbp + 0x14]
or ecx, eax
mov dword [rbp + 0x14], ecx
add r11d, r14d
sub esi, 8
cmp r11d, edi
jl 0x14001bcc2
mov r14d, dword [rbp - 0x18]
movabs rsi, 0x7f1137fab69605e
mov dword [rbp - 0x78], r10d
and dword [rsp + 0x78], 0
mov r11d, ecx
xor r11d, 0x699a899c
xor r10d, 0x92f65a5
mov eax, r10d
mov ecx, r11d
test edi, edi
je 0x14001bd6f
mov esi, dword [rsp + 0x78]
mov r12d, 1
lea r14, [rbx + 1]
mov qword [rsp + 0x78], r14
cmp esi, 4
jge 0x14001bd45
rol eax, 8
mov r14d, eax
jmp 0x14001bd4b
rol ecx, 8
mov r14d, ecx
mov byte [rbx], r14b
add esi, r12d
mov r14, qword [rsp + 0x78]
mov rbx, r14
cmp esi, edi
jl 0x14001bd2f
mov r14d, dword [rbp - 0x18]
movabs rsi, 0x7f1137fab69605e
mov r12, qword [rbp - 8]
cmp edi, 4
jbe 0x14001bd86
mov ecx, 8
sub ecx, edi
shl ecx, 3
shr r11d, cl
shl r11d, cl
jmp 0x14001bda3
xor eax, eax
mov r11d, eax
cmp edi, 4
jae 0x14001bda3
lea ecx, [rax + 4]
sub ecx, edi
shl ecx, 3
shr r10d, cl
shl r10d, cl
jmp 0x14001bda3
mov r11d, r10d
mov rax, r13
shr rax, 3
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14001c0d1
mov eax, dword [rbp + 0x8bc]
lea r13, [rbx + 7]
mov r12d, dword [rbp - 0x78]
lea r15, [r9 + 2]
mov ebx, dword [rbp + 0x8bc]
mov ecx, eax
mov rdx, qword [rbp - 0x60]
xor ecx, esi
movzx r14d, ax
movzx eax, word [rbp + 0x8ba]
mov dword [rbp - 0x70], eax
movzx eax, si
mov dword [rbp - 0x80], eax
mov dword [rsp + 0x78], ecx
movzx eax, byte [r15 - 1]
movzx r9d, byte [r15 - 2]
movzx r8d, byte [r15 + 2]
shl r9d, 8
or r9d, eax
shl r8d, 8
movzx eax, byte [r15]
lea r15, [r15 + 8]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 7]
shl r9d, 8
or r9d, eax
movzx eax, byte [r15 - 5]
or r8d, eax
xor r10d, r9d
movzx eax, byte [r15 - 4]
shl r8d, 8
or r8d, eax
movzx eax, byte [r15 - 3]
shl r8d, 8
or r8d, eax
xor r11d, r8d
xor r11d, r10d
xor r11d, ecx
mov eax, r11d
mov edi, r11d
sub eax, esi
rol r11d, 0xa
rol eax, 5
imul eax, r14d
add eax, r11d
movzx r11d, word [rbp + 0x8ba]
xor r10d, eax
mov eax, r10d
rol eax, 2
lea ecx, [r10 + rbx]
ror ecx, 9
imul ecx, r11d
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
sub ecx, r14d
shr eax, 0xd
imul ecx, dword [rbp - 0x80]
sub ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
xor ecx, r11d
rol eax, 2
movzx r11d, word [rbp + 0x8be]
rol ecx, 6
imul ecx, r11d
sub ecx, eax
mov eax, ebx
xor edi, ecx
mov ecx, edi
xor ecx, esi
sub eax, ecx
xor r10d, eax
mov eax, r14d
xor eax, r10d
mov ecx, r10d
imul eax, dword [rbp - 0x70]
ror ecx, 6
xor ecx, eax
xor edi, ecx
mov eax, edi
rol eax, 2
lea ecx, [rdi + rbx]
ror ecx, 0xf
imul ecx, dword [rbp - 0x80]
add ecx, eax
xor r10d, ecx
mov ecx, r10d
mov eax, r10d
sub ecx, esi
ror ecx, 0xe
imul ecx, r11d
rol eax, 8
sub ecx, eax
xor edi, ecx
mov ecx, edi
mov eax, edi
xor ecx, esi
ror eax, 0xa
ror ecx, 0xc
imul ecx, r14d
xor ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, ecx
mov ecx, r11d
xor ecx, r10d
imul ecx, eax
mov eax, r10d
shr eax, 0xa
xor ecx, eax
xor edi, ecx
mov eax, edi
not eax
ror eax, 5
add eax, dword [rbp - 0x80]
imul eax, r11d
xor r10d, eax
movzx eax, word [rbp + 0x8be]
mov r11d, r10d
sub r11d, eax
xor r11d, edi
movzx edi, word [rbp + 0x8be]
xor r11d, esi
mov ecx, r11d
mov eax, r11d
xor ecx, edi
shr eax, 2
rol ecx, 2
imul ecx, r14d
add ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, ecx
mov ecx, r10d
sub ecx, ebx
ror ecx, 6
imul ecx, eax
mov eax, r10d
rol eax, 7
add ecx, eax
mov eax, r14d
xor r11d, ecx
xor eax, r11d
mov ecx, r11d
imul eax, dword [rbp - 0x80]
ror ecx, 9
add ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, ecx
mov ecx, r10d
xor ecx, eax
mov eax, r10d
rol ecx, 5
imul ecx, edi
rol eax, 7
add ecx, eax
xor r11d, ecx
movzx ecx, word [rbp + 0x8ba]
xor r10d, r11d
xor r10d, ebx
xor r10d, esi
mov eax, r10d
ror eax, 3
sub eax, ecx
imul eax, r14d
xor r11d, eax
mov ecx, r11d
mov eax, r11d
sub ecx, ebx
ror eax, 6
ror ecx, 1
imul ecx, dword [rbp - 0x80]
sub ecx, eax
xor r10d, ecx
lea ecx, [r10 + rsi]
mov eax, r10d
rol ecx, 3
imul ecx, edi
mov edi, 1
rol eax, 0xe
add ecx, eax
xor r11d, ecx
mov eax, r11d
ror eax, 0xe
lea ecx, [r11 + rsi]
rol ecx, 0xf
imul ecx, r14d
sub ecx, eax
movzx eax, word [rbp + 0x8ba]
xor r10d, ecx
mov ecx, r10d
xor ecx, dword [rbp - 0x80]
imul ecx, eax
mov eax, r10d
shr eax, 3
xor ecx, eax
xor r11d, ecx
mov ecx, r11d
mov eax, r11d
xor r11d, dword [rbp + 0x14]
xor ecx, ebx
rol ecx, 4
imul ecx, dword [rbp - 0x80]
rol eax, 2
mov dword [rbp + 0x14], r8d
xor ecx, eax
xor ecx, r12d
mov r12d, r9d
xor r10d, ecx
mov ecx, dword [rsp + 0x78]
mov byte [r13 - 4], r10b
mov byte [r13], r11b
lea r13, [r13 + 8]
ror r10d, 8
mov byte [r13 - 0xd], r10b
ror r11d, 8
mov byte [r13 - 9], r11b
ror r10d, 8
mov byte [r13 - 0xe], r10b
ror r11d, 8
mov byte [r13 - 0xa], r11b
ror r10d, 8
ror r11d, 8
mov byte [r13 - 0xf], r10b
mov byte [r13 - 0xb], r11b
ror r11d, 8
ror r10d, 8
sub rdx, rdi
jne 0x14001bdef
mov dl, byte [rsp + 0x60]
mov r14d, dword [rbp - 0x18]
mov r15, qword [rbp]
mov r12, qword [rbp - 8]
mov r13, qword [rbp - 0x40]
mov r8, qword [rbp - 0x28]
jmp 0x14001c0d6
mov edi, 1
xor r10d, r10d
mov eax, r10d
test r13, r13
je 0x14001c0ed
xor dl, byte [rax + r8]
add rax, rdi
cmp rax, r13
jb 0x14001c0e1
mov rcx, qword [rbp - 0x38]
movzx eax, dl
cmp rax, qword [rcx + r13]
je 0x14001c108
mov rbx, qword [rbp + 0x390]
mov edi, 0xc004d501
jmp 0x14001c120
mov edi, dword [rsp + 0x68]
mov rbx, r8
mov qword [rbp + 0x390], rbx
mov r8, r10
mov qword [rbp - 0x28], r10
mov r12, r13
test r8, r8
je 0x14001c150
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 0x28]
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov rbx, qword [rbp + 0x390]
xor r10d, r10d
test edi, edi
js 0x14001c17a
mov r13, rbx
mov qword [rbp + 0x30], rbx
mov rbx, r10
mov dword [rbp + 0xe4], r12d
mov qword [rbp + 0x390], rbx
mov edi, 0x10000000
jmp 0x14001c18a
mov rbx, qword [rbp + 0x390]
mov r12d, dword [rbp + 0xe4]
mov edi, 0xd0000001
mov r13, qword [rbp + 0x30]
test rbx, rbx
je 0x14001c1c0
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
mov r12d, dword [rbp + 0xe4]
xor r10d, r10d
mov qword [rbp + 0x390], r10
test edi, edi
js 0x14001c338
cmp r12d, 4
jae 0x14001c1d8
mov edi, 0xc000003e
jmp 0x14001c330
mov r8d, dword [r13]
lea rcx, [r13 + 4]
mov dword [rsp + 0x68], r8d
cmp rcx, r13
jb 0x14001c32b
lea eax, [r12 - 4]
cmp eax, 4
jb 0x14001c1ce
mov ebx, dword [rcx]
lea rdi, [rcx + 4]
cmp rdi, rcx
jb 0x14001c32b
lea eax, [r12 - 8]
cmp eax, ebx
jb 0x14001c1ce
lea eax, [rbx + 8]
cmp eax, 8
jb 0x14001c32b
mov ecx, r12d
lea rdx, [rbx + rdi]
lea rax, [rcx + r13]
cmp rax, rdx
jb 0x14001c1ce
mov rax, r13
sub rax, rbx
sub rax, rdi
add rax, rcx
cmp rax, 8
jae 0x14001c1ce
mov rsi, r10
mov r13d, r10d
test rdi, rdi
je 0x14001c2b0
mov rcx, rdi
cmp rdx, rdi
jb 0x14001c32b
jbe 0x14001c2ab
lea rax, [rcx + 4]
cmp rax, rcx
jb 0x14001c32b
cmp rax, rdx
ja 0x14001c29a
mov eax, dword [rcx]
add eax, 4
cmp eax, 4
jb 0x14001c2a4
mov dword [rbp + 0x108], eax
mov r8d, eax
add r8, rcx
cmp r8, rcx
jb 0x14001c32b
mov rcx, r8
cmp r8, rdx
ja 0x14001c29a
inc r13d
cmp rcx, rdx
jae 0x14001c2ae
jmp 0x14001c257
mov edi, 0xc000000d
jmp 0x14001c330
mov edi, 0xc0000095
jmp 0x14001c316
cmp rcx, rdx
jne 0x14001c29a
test ebx, ebx
je 0x14001c2e9
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
nop dword [rax + rax]
xor r10d, r10d
mov rsi, rax
test rax, rax
jne 0x14001c2e9
mov edi, 0xc0000017
jmp 0x14001c316
test rdi, rdi
je 0x14001c2ff
mov r8, rbx
mov rdx, rdi
mov rcx, rsi
call sub.api_ms_win_crt_private_l1_1_0.dll_memcpy
xor r10d, r10d
mov qword [rbp + 0x3f8], rsi
mov dword [rbp + 0x3f4], ebx
mov dword [rbp + 0x3f0], r13d
mov edi, r10d
test edi, edi
js 0x14001c330
mov eax, dword [rsp + 0x68]
cmp eax, dword [rbp + 0x3f0]
je 0x14001c330
jmp 0x14001c1ce
mov edi, 0xc0000095
bts edi, 0x1c
mov r13, qword [rbp + 0x30]
mov rbx, qword [rbp + 0x28]
test rbx, rbx
je 0x14001c364
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, qword [rbp + 0x338]
test rbx, rbx
je 0x14001c42d
mov rsi, qword [rbx + 8]
test rsi, rsi
je 0x14001c3a4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 8], r10
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x14001c3d4
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbx + 0x18], r10
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x14001c403
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rsi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [rbx + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x338], r10
mov rbx, qword [rbp + 0x20]
test rbx, rbx
je 0x14001c459
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov rbx, qword [rbp + 0x18]
test rbx, rbx
je 0x14001c485
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r15, r15
je 0x14001c540
mov rbx, qword [r15 + 8]
test rbx, rbx
je 0x14001c4be
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 8], r10
mov rbx, qword [r15 + 0x18]
test rbx, rbx
je 0x14001c4ee
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [r15 + 0x18], r10
mov rbx, qword [r15 + 0x28]
test rbx, rbx
je 0x14001c51d
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor eax, eax
mov qword [r15 + 0x28], rax
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r15
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r13, r13
je 0x14001c568
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test edi, edi
js 0x14001c622
mov ecx, dword [rbp + 0x3f0]
mov r9d, 1
cmp ecx, r9d
jb 0x14001c622
mov rdi, qword [rbp + 0x3f8]
test rdi, rdi
je 0x14001c622
test ecx, ecx
je 0x14001c622
mov edx, dword [rdi]
lea r8, [rdi + 4]
cmp r8, rdi
jb 0x14001c622
test edx, edx
mov dword [rbp + 0x10c], edx
mov rax, r10
cmovne rax, r8
mov qword [rbp + 0x398], rax
cmp edx, 4
jne 0x14001c622
mov eax, dword [rax]
mov dword [rbp + 0x110], eax
test eax, eax
js 0x14001c622
cmp ecx, r9d
jbe 0x14001c622
mov ecx, r10d
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14001c622
mov edi, dword [rdi]
add rdi, rdx
cmp rdi, rdx
jb 0x14001c622
add ecx, r9d
cmp ecx, r9d
jb 0x14001c5d7
mov ecx, dword [rdi]
lea rdx, [rdi + 4]
cmp rdx, rdi
jb 0x14001c622
test ecx, ecx
mov dword [rbp + 0x114], ecx
mov rax, r10
cmovne rax, rdx
mov qword [rbp + 0x3a0], rax
cmp ecx, 8
jne 0x14001c622
mov rax, qword [rax]
mov qword [rbp + 0x3a8], rax
mov r13, qword [rbp - 0x20]
mov r12, qword [rbp + 8]
and qword [rbp + 0x3e0], 0
mov rdi, qword [rbp + 0x3e8]
test rdi, rdi
je 0x14001c668
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x3e8], r10
and qword [rbp + 0x3f0], 0
mov rdi, qword [rbp + 0x3f8]
test rdi, rdi
je 0x14001c6a6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, rdi
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov qword [rbp + 0x3f8], r10
test r13, r13
je 0x14001c6ce
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r13
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
test r12, r12
je 0x14001c6f6
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
nop dword [rax + rax]
mov r8, r12
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax + rax]
xor r10d, r10d
mov eax, dword [rbp + 0xb8]
mov ebx, dword [rbp + 0xb0]
mov dword [rbp + 0x150], eax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x2e0], rax
mov qword [rbp + 0x2f0], r10
jmp 0x140013552
cmp r14d, 0xd00000e5
je 0x14001c748
cmp r14d, 0xc004d501
je 0x14001c748
cmp r14d, 0xd000003e
jne 0x14001c74b
mov r14d, 0xc004f028
jmp 0x14001360e
mov r14d, r13d
test r14d, r14d
jns 0x14001c764
cmp r14d, 0x8007007a
jne 0x14001360e
mov edi, 0xc004f01e
jmp 0x14001c77a
cmp ebx, 4
jne 0x14001c75d
mov rax, qword [rbp + 0x2e0]
mov edi, esi
mov ecx, dword [rax]
mov dword [rbp + 0x11c], ecx
lea rcx, [rbp + 0x2e0]
call fcn.140020a1c
cmp edi, r13d
je 0x14001c7ae
cmp edi, 0xc004d301
je 0x14001c7ae
lea eax, [rdi + 0x3ffb2aff]
cmp eax, r15d
jbe 0x14001c7ae
test edi, edi
jns 0x14001c7ae
cmp edi, r12d
je 0x14001c7ae
mov ecx, edi
call fcn.1400209fc
mov eax, r15d
jmp 0x140012923