Function at 0x1800156a0
Capabilities:
Get memory capacity

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
mov rax, qword [0x18006e218]
xor rax, rsp
mov qword [rbp + 0x68], rax
mov r13, r9
mov qword [rsp + 0x70], r9
mov qword [rbp - 0x80], r8
mov r15, rdx
mov qword [rsp + 0x78], rdx
mov r12d, ecx
mov dword [rsp + 0x38], ecx
xor esi, esi
mov dword [rsp + 0x68], esi
mov qword [rbp - 0x60], rsi
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], sil
lea r14d, [rcx + 0xe]
lea rcx, [0x180000000]
cmp r12d, r14d
jae 0x1800159dc
lea esi, [r12 - 0x6d]
mov ebx, 0x69
lea edi, [rbx + 5]
mov r9d, 0x3a
mov r11d, 0x6d22
lea r10d, [r9 + 0x41]
lea edx, [r9 + 0x2d]
cmp esi, 0x9c
ja case.default.0x180015755
movzx eax, byte [rcx + rsi + 0x16c54]
mov ecx, dword [rcx + rax*4 + 0x16c18]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
mov byte [rbp + 0x2e], 0
jmp case.0x180015755.14
test r13, r13
jne 0x180015787
mov dword [rsp + 0x50], r13d
lea r9, [0x180062423]
lea r8, [rsp + 0x50]
mov edx, 0xa8
lea rcx, str.PrintStack
call fcn.1800175c0
test r15, r15
jne case.0x180015755.14
mov dword [rsp + 0x50], r15d
lea r9, [0x180062423]
lea r8, [rsp + 0x50]
mov edx, 0xa8
lea rcx, str.__4d__jlesseq
call fcn.1800175c0
jmp case.0x180015755.14
mov dword [rbp + 0x42], 0x6f6c22
mov word [rbp + 0x45], dx
jmp case.0x180015755.14
mov word [rbp + 0x38], r10w
mov word [rbp + 0x39], r11w
jmp case.0x180015755.14
mov dword [rbp + 0x3b], 0x687465
mov dword [rbp + 0x3e], 0x22646f
mov word [rbp + 0x41], r9w
jmp case.0x180015755.14
mov r8d, 2
lea rdx, [0x180064ffd]
lea rcx, [rbp + 0x28]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [rbp + 0x2a], 0
jmp case.0x180015755.14
test r13, r13
jne case.0x180015755.14
mov dword [rsp + 0x50], r13d
lea r9, [0x180062423]
lea r8, [rsp + 0x50]
mov edx, 0xa8
lea rcx, str.a___NULL
call fcn.1800175c0
jmp case.0x180015755.14
mov r8d, 1
lea rdx, [0x1800650bb]
lea rcx, [rbp + 0x36]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
jmp case.0x180015755.14
lea rax, [rbp + 0x28]
mov rdi, 0xffffffffffffffff
inc rdi
cmp byte [rax + rdi], 0
jne 0x180015865
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
mov rax, rdx
sub rax, rcx
cmp rdi, rax
ja 0x1800158b4
lea rax, [rcx + rdi]
mov qword [r13 + 0x10], rax
mov rax, r13
cmp rdx, 0x10
jb 0x180015896
mov rax, qword [r13]
lea rbx, [rax + rcx]
mov r8, rdi
lea rdx, [rbp + 0x28]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [rdi + rbx], 0
mov ebx, 0x69
jmp 0x1800158cb
mov qword [rsp + 0x20], rdi
lea r9, [rbp + 0x28]
xor r8d, r8d
mov rdx, rdi
mov rcx, r13
call fcn.180003f60
mov rcx, qword [r13 + 0x10]
mov rdx, qword [r13 + 0x18]
mov rax, rdx
sub rax, rcx
cmp rax, 2
jb 0x18001590c
lea rax, [rcx + 2]
mov qword [r13 + 0x10], rax
mov rax, r13
cmp rdx, 0x10
jb 0x1800158f4
mov rax, qword [r13]
mov edx, 0x3436
mov word [rax + rcx], dx
mov byte [rax + rcx + 2], 0
mov edi, 0x6e
jmp case.0x180015755.14
mov qword [rsp + 0x20], 2
lea r9, [0x1800650cc]
xor r8d, r8d
lea edx, [r8 + 2]
mov rcx, r13
call fcn.180003f60
mov edi, 0x6e
jmp case.0x180015755.14
mov word [rbp + 0x46], bx
mov word [rbp + 0x47], di
jmp case.0x180015755.14
mov byte [rbp + 0x2a], 0x70
movzx eax, word [0x1800651a0]
mov word [rbp + 0x2b], ax
movzx eax, byte [0x1800651a2]
mov byte [rbp + 0x2d], al
jmp case.0x180015755.14
test r8, r8
jne case.0x180015755.14
mov dword [rsp + 0x50], r8d
lea r9, [0x180062423]
lea r8, [rsp + 0x50]
mov edx, 0xa8
lea rcx, str.556_713_U
call fcn.1800175c0
jmp case.0x180015755.14
mov eax, 0x22
mov word [rbp + 0x48], ax
movzx eax, word [0x18006526a]
mov word [rbp + 0x30], ax
movzx eax, byte [0x18006526c]
mov byte [rbp + 0x32], al
mov byte [rbp + 0x33], 0
mov r8d, 3
lea rdx, [0x1800652fc]
lea rcx, [rbp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
lea rcx, [0x180000000]
inc esi
lea eax, [rsi + 0x6d]
mov r8, qword [rbp - 0x80]
cmp eax, r14d
jb 0x18001571c
mov esi, dword [rsp + 0x68]
lea eax, [r12 - 0xd]
mov dword [rsp + 0x6c], eax
cmp r12d, eax
jbe 0x180015c52
mov ebx, dword [rsp + 0x6c]
mov edi, dword [rsp + 0x6c]
nop word [rax + rax]
lea eax, [r12 - 0x90]
cmp eax, 0x78
ja case.0x180015a2a.157
movzx eax, byte [rcx + rax + 0x16d2c]
mov ecx, dword [rcx + rax*4 + 0x16cf4]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
test r8, r8
jne 0x180015a53
mov dword [rsp + 0x50], r8d
lea r9, [0x180062423]
lea r8, [rsp + 0x50]
mov edx, 0xa8
lea rcx, str.c___NULL
call fcn.1800175c0
mov eax, dword [r15]
mov dword [rsp + 0x50], eax
mov r9, r13
mov r8d, 5
lea rdx, [rsp + 0x50]
mov rcx, qword [rbp - 0x80]
call fcn.18000aea0
mov dword [rsp + 0x50], eax
mov edx, reloc.SHLWAPI.dll_SHStripMneumonicW
lea rcx, [rsp + 0x50]
call fcn.180033a20
mov rbx, rax
jmp case.0x180015a2a.149
mov rax, qword [rsp + 0x40]
mov qword [r8], rax
jmp case.0x180015a2a.157
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
lea rax, [rbp + 0x38]
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x180015ac0
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 0x50]
call fcn.18001fe20
nop
lea r15, [rbp - 0x50]
mov r13, qword [rbp - 0x50]
mov r12, qword [rbp - 0x38]
cmp r12, 0x10
cmovae r15, r13
mov r14, qword [rbp - 0x40]
cmp r14, 0x10
jae 0x180015b04
movups xmm0, xmmword [r15]
mov qword [rbp - 0x18], 0xf
jmp 0x180015b81
mov rsi, r14
or rsi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rsi, rax
cmova rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x180015b58
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x180016c0f
mov rcx, rax
call fcn.18005b14c
mov rcx, rax
test rax, rax
je 0x180016bcc
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180015b66
test rcx, rcx
je 0x180015b64
call fcn.18005b14c
jmp 0x180015b66
xor eax, eax
mov qword [rbp - 0x30], rax
lea r8, [r14 + 1]
mov rdx, r15
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov qword [rbp - 0x18], rsi
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp - 0x20], r14
mov rax, qword [rbp - 0x58]
cmp rax, 0x10
jb 0x180015bc5
lea rdx, [rax + 1]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180015bc0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180016bcc
call fcn.18005b188
movups xmm0, xmmword [rbp + 0x50]
movups xmmword [rbp - 0x70], xmm0
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rbp - 0x60], xmm0
cmp r12, 0x10
jb 0x180015c0d
lea rdx, [r12 + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x180015c05
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180016bd3
mov rcx, r13
call fcn.18005b188
mov r13, qword [rsp + 0x70]
lea r8, [r13 + 0x48]
mov dword [rsp + 0x20], 0x96
xor r9d, r9d
xor edx, edx
lea rcx, [rbp - 0x70]
call fcn.180005dd0
mov r12d, dword [rsp + 0x38]
jmp 0x180016ba0
mov esi, 0xd8
nop dword [rax + rax]
mov eax, esi
sub eax, 0xd8
je 0x180015c9c
cmp eax, 1
jne 0x180015d07
mov ebx, dword [rsp + 0x50]
mov rcx, qword [rbp - 0x58]
cmp rcx, 0x10
jb 0x180016be6
lea rdx, [rcx + 1]
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180016be1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180016be1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp - 0x58]
cmp rdx, rcx
jae 0x180015cc6
lea rax, [rdx + 1]
mov qword [rbp - 0x60], rax
lea rax, [rbp - 0x70]
cmp rcx, 0x10
cmovae rax, qword [rbp - 0x70]
mov word [rax + rdx], 0x7d
jmp 0x180015cd9
mov r9b, 0x7d
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x70]
call fcn.180003e00
lea rcx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
lea rax, [rbp - 0x70]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0xbc
mov rdx, qword [0x18006e2f0]
xor ecx, ecx
call fcn.18001c870
mov byte [rsp + 0x50], al
inc esi
cmp esi, 0xda
jb 0x180015c40
mov byte [rbp + 0x37], 0
jmp case.0x180015a2a.157
mov r8, qword [rsp + 0x40]
mov edx, 0x148
xor ecx, ecx
call fcn.1800584e0
jmp case.0x180015a2a.157
mov qword [rsp + 0x40], 0
jmp case.0x180015a2a.157
lea rcx, [r13 + 0xa8]
mov qword [rsp + 0x20], 0
mov r9d, 0x101
lea r8, [rbp - 0x70]
xor edx, edx
call fcn.180038f00
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
mov qword [rbp + 0x20], rax
lea r9, [rbp - 0x70]
xor r8d, r8d
xor edx, edx
lea ecx, [rax + 0x6d]
call fcn.1800156a0
lea rax, [rbp + 0x30]
mov r14, 0xffffffffffffffff
inc r14
cmp byte [rax + r14], 0
jne 0x180015d94
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x180015de2
lea rax, [r14 + rcx]
mov qword [rbp - 0x60], rax
lea rsi, [rbp - 0x70]
cmp rdx, 0x10
cmovae rsi, qword [rbp - 0x70]
add rsi, rcx
mov r8, r14
lea rdx, [rbp + 0x30]
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [r14 + rsi], 0
jmp case.0x180015a2a.157
mov qword [rsp + 0x20], r14
lea r9, [rbp + 0x30]
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.180003f60
jmp case.0x180015a2a.157
mov r12, qword [rsp + 0x78]
cmp dword [r12], 0
je 0x180016986
mov r14d, 0x23
nop word [rax + rax]
mov eax, r14d
sub eax, 0x20
je 0x180016a0f
sub eax, 1
je 0x180016a01
sub eax, 1
je 0x180015eff
cmp eax, 1
jne 0x180016a17
movzx eax, byte [r13]
mov dword [rsp + 0x64], eax
mov eax, dword [r12]
mov dword [rsp + 0x38], eax
lea r8, [rsp + 0x38]
mov rdx, r13
mov ecx, 0xaa
call fcn.18002fc80
mov dword [rsp + 0x30], eax
cmp eax, dword [r12]
ja 0x180016a29
mov r15, qword [rsp + 0x40]
test r15, r15
jne 0x180015ead
lea edx, [r15 + 0x38]
lea ecx, [rdx - 0x37]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [rsp + 0x40], rax
cmp rax, r15
jne 0x180016a17
mov ebx, 0xd
mov r12d, 0x103
jmp 0x180016ba0
mov esi, 0xdc
cmp esi, 0xdc
je 0x180015ed5
cmp esi, 0x9fd8
jne 0x180015eec
mov rax, qword [r15 + 0x20]
mov qword [rax + 0x18], r15
mov r15, qword [r15 + 0x20]
mov qword [rsp + 0x40], r15
jmp 0x180015eec
mov edx, 0x38
lea ecx, [rdx - 0x37]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 + 0x20], rax
test rax, rax
je 0x180015e9d
add esi, 0x9efc
cmp esi, 0x13df8
jbe 0x180015eb2
jmp 0x180016a17
mov esi, dword [rsp + 0x64]
lea eax, [rsi - 1]
cmp eax, 0x30
ja case.0x180015f2a.7
lea r14, [0x180000000]
movzx eax, byte [r14 + rax + 0x16dd8]
mov ecx, dword [r14 + rax*4 + 0x16da8]
add rcx, r14
jmp rcx
mov esi, 0x125
mov r14, qword [rsp + 0x40]
nop word [rax + rax]
mov eax, esi
sub eax, 0x123
je 0x180015feb
sub eax, 1
je 0x180015f6e
cmp eax, 1
jne 0x180015f80
mov rax, qword [rsp + 0x40]
mov dword [rax], 1
mov dword [rax + 0x10], 1
mov r14, rax
jmp 0x180015f80
mov edx, 4
lea ecx, [rdx - 3]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r14 + 8], rax
dec esi
cmp esi, 0x122
ja 0x180015f40
mov r14d, 0x53
cmp r14d, 0x53
je 0x18001609d
cmp r14d, 0x101
je 0x180016051
cmp r14d, 0x1af
jne 0x1800160b1
lea r8, [rsp + 0x30]
mov edx, 0x27
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 8]
call fcn.180052f70
mov ebx, eax
test eax, eax
jne 0x180015ea2
lea r14d, [rax + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov eax, dword [r12]
mov dword [rsp + 0x38], eax
mov r9d, 0x5d
lea r8, [rsp + 0x38]
mov rax, qword [rsp + 0x40]
mov rdx, qword [rax + 8]
mov rcx, r13
call fcn.180015080
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov dword [rsp + 0x20], 0x3d
xor r9d, r9d
lea r8, [rsp + 0x30]
xor edx, edx
xor ecx, ecx
call fcn.18003f100
mov ebx, eax
test eax, eax
jne 0x180015ea2
lea r14d, [rax + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov rsi, qword [rsp + 0x40]
lea rcx, [rsi + 8]
call qword [0x180070960]
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov rcx, qword [rsi + 8]
mov eax, dword [r12]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], rcx
mov r9, r13
xor r8d, r8d
mov edx, 0x96
lea rcx, [rsp + 0x38]
call fcn.180012b30
mov rbx, rax
test eax, eax
jne 0x180015ea2
jmp 0x1800160b1
mov r15, qword [rsp + 0x40]
mov dword [r15], 2
mov dword [r15 + 0x10], 1
add r14d, 0xae
cmp r14d, 0x25d
jb 0x180015f90
lea r14, [0x180000000]
mov esi, 0x86
mov eax, esi
sub eax, 0x86
je 0x18001611a
sub eax, 1
je 0x1800160ed
cmp eax, 1
je 0x1800169ed
jmp 0x180016180
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x38]
lea r8, [rsp + 0x30]
mov edx, 0xb6
xor ecx, ecx
call fcn.180027aa0
jmp 0x180016176
mov r15, qword [rsp + 0x40]
mov dword [r15], 4
mov eax, dword [rsp + 0x30]
lea eax, [rax*8]
mov dword [r15 + 0x10], eax
mov edx, eax
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
mov ecx, dword [r12]
mov dword [rsp + 0x38], ecx
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
mov r9d, 0x121
lea r8, [r15 + 0x10]
mov rdx, rax
mov rcx, r13
call fcn.180036320
test eax, eax
mov ebx, eax
jne 0x180015ea2
inc esi
cmp esi, 0x89
jb 0x1800160d1
mov esi, 0xd3
mov eax, esi
sub eax, 0xd1
je 0x18001627d
sub eax, 1
je 0x1800161c0
cmp eax, 1
jne 0x180016215
mov r15, qword [rsp + 0x40]
mov dword [r15], 5
mov eax, dword [rsp + 0x30]
mov dword [r15 + 0x10], eax
jmp 0x180016215
mov r15, qword [rsp + 0x40]
lea rbx, [r15 + 0x10]
mov edx, dword [rbx]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
mov ecx, dword [r12]
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x28], 0x79
mov qword [rsp + 0x20], rbx
mov r9, rax
xor r8d, r8d
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.1800125d0
mov ebx, eax
test eax, eax
jne 0x180015ea2
dec esi
cmp esi, 0xd0
ja 0x180016193
mov ecx, 0xbd
nop dword [rax + rax]
mov eax, ecx
sub eax, 0xbb
je 0x1800169ed
sub eax, 1
je 0x1800163c4
cmp eax, 1
jne 0x1800163d8
cmp byte [r13], 5
jne 0x180016a29
cmp byte [r13 + 1], 0
jne 0x180016a29
mov rax, qword [rsp + 0x40]
mov dword [rax], 6
mov qword [rax + 8], 0
jmp 0x1800163d8
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x38], eax
mov ebx, 6
nop
mov eax, ebx
sub eax, 6
je 0x180016320
sub eax, 0x2a
je 0x1800162a7
cmp eax, 0x6f
je 0x1800162ff
jmp 0x1800162f4
mov dword [rsp + 0x48], 0
mov r9d, 0xa2
xor r8d, r8d
lea rdx, [rsp + 0x38]
lea rcx, [rsp + 0x48]
call fcn.180051440
test rax, rax
je 0x1800162d0
mov eax, dword [rax]
jmp 0x1800162d5
mov eax, 0xa
movsxd r8, eax
mov r8, qword [r14 + r8*8 + 0x6dc10]
mov edx, 0x112
lea rcx, [rsp + 0x38]
call fcn.1800394c0
mov edi, 1
add ebx, 0x6f
cmp ebx, 0x153
jb 0x180016290
mov ebx, edi
test edi, edi
jne 0x180015ea2
lea r14d, [rdi + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov eax, dword [rsp + 0x38]
cmp eax, 0x80
jae 0x18001634b
add eax, 2
mov dword [rsp + 0x30], eax
xor edi, edi
xor ebx, ebx
lea r14d, [rdi + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
cmp eax, 0x100
jae 0x180016372
add eax, 3
mov dword [rsp + 0x30], eax
xor edi, edi
xor ebx, ebx
lea r14d, [rdi + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
cmp eax, 0x10000
jae 0x180016399
add eax, 4
mov dword [rsp + 0x30], eax
xor edi, edi
xor ebx, ebx
lea r14d, [rdi + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
cmp eax, 0x1000000
jae 0x180016a39
add eax, 5
mov dword [rsp + 0x30], eax
xor edi, edi
xor ebx, ebx
lea r14d, [rdi + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov rax, qword [rsp + 0x40]
mov dword [rax + 0x10], 0
mov dword [rsp + 0x30], 2
dec ecx
cmp ecx, 0xba
ja 0x180016230
mov esi, 5
nop dword [rax + rax]
cmp esi, 5
je 0x1800164df
cmp esi, 0xa5
je 0x18001648f
cmp esi, 0x145
je 0x18001643d
cmp esi, 0x1e5
jne 0x1800164f1
mov rax, qword [rsp + 0x40]
mov rcx, qword [rbp - 0x78]
mov qword [rax + 8], rcx
mov r14d, 0x22
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov r15, qword [rsp + 0x40]
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x30]
mov r8d, 0x8c
lea rdx, [rsp + 0x48]
mov rcx, qword [r15 + 8]
call fcn.18003da80
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov edx, dword [r15 + 0x10]
shl rdx, 2
mov rcx, qword [r15 + 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_realloc]
mov qword [rbp - 0x78], rax
cmp rax, 0
je 0x1800169ed
jmp 0x1800164f1
mov ecx, dword [rsp + 0x30]
mov edx, 4
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r15, qword [rsp + 0x40]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
mov ecx, dword [r12]
mov dword [rsp + 0x48], ecx
lea rdx, [r15 + 0x10]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x48]
mov r8, r13
mov ecx, 0xb4
call fcn.18001a7b0
mov ebx, eax
test eax, eax
jne 0x180015ea2
jmp 0x1800164f1
mov rcx, qword [rsp + 0x40]
mov dword [rcx], 7
mov eax, dword [rsp + 0x30]
mov dword [rcx + 0x10], eax
add esi, 0xa0
cmp esi, 0x280
jbe 0x1800163f0
mov esi, 0x1e
nop dword [rax + rax]
cmp esi, 0x1e
je 0x1800165a4
cmp esi, 0xdb6
je 0x18001656c
cmp esi, 0x1b4e
je 0x18001653a
cmp esi, 0x28e6
je 0x1800169ed
jmp 0x1800165d4
mov r15, qword [rsp + 0x40]
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x48], eax
mov r9, qword [r15 + 8]
mov r8d, 9
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.180056460
mov ebx, eax
test eax, eax
jne 0x180015ea2
jmp 0x1800165d4
mov r15, qword [rsp + 0x40]
mov rcx, qword [r15 + 8]
mov eax, dword [r12]
mov dword [rsp + 0x48], eax
lea r8, [r15 + 0x10]
mov qword [rsp + 0x20], rcx
mov r9, r13
mov edx, 0x8a
lea rcx, [rsp + 0x48]
call fcn.180012b30
mov ebx, eax
test eax, eax
jne 0x180015ea2
jmp 0x1800165d4
mov r15, qword [rsp + 0x40]
mov dword [r15], 0xa
mov eax, dword [rsp + 0x30]
mov dword [r15 + 0x10], eax
mov edx, dword [rsp + 0x30]
mov ecx, 2
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
add esi, 0xd98
cmp esi, 0x3660
jbe 0x180016510
mov r14d, reloc.SHLWAPI.dll_SHRegGetIntW
nop dword [rax]
mov eax, r14d
sub eax, reloc.SHLWAPI.dll_SHRegGetIntW
je 0x1800166a2
sub eax, 1
je 0x180016694
sub eax, 1
je 0x18001661a
cmp eax, 1
je 0x1800169ed
jmp 0x1800166ad
mov r15, qword [rsp + 0x40]
mov edx, dword [r15 + 0x10]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
mov ecx, dword [r12]
mov dword [rsp + 0x48], ecx
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x48]
mov r8, rax
lea rdx, [r15 + 0x10]
mov ecx, 0x2c
call fcn.180023000
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x48], eax
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x30]
mov edx, 0xe9
mov rcx, qword [r15 + 8]
call fcn.18000d280
mov ebx, eax
test eax, eax
jne 0x180015ea2
jmp 0x1800166ad
mov eax, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov dword [rcx + 0x10], eax
jmp 0x1800166ad
mov rax, qword [rsp + 0x40]
mov dword [rax], 9
inc r14d
cmp r14d, 0x11c
jb 0x1800165f0
mov esi, 0x74
mov eax, esi
sub eax, 0x74
je 0x180016751
cmp eax, 0x5f
jne 0x180016781
mov eax, dword [r12]
mov dword [rsp + 0x48], eax
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x48]
lea r8, [r15 + 0x10]
mov edx, 0x8e
mov rcx, qword [r15 + 8]
call fcn.180022cc0
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x48], eax
mov rax, qword [r15 + 8]
mov qword [rsp + 0x20], rax
mov r9d, 0x88
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x30]
call fcn.180028040
mov ebx, eax
test eax, eax
jne 0x180015ea2
lea r14d, [rax + 0x22]
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov r15, qword [rsp + 0x40]
mov dword [r15], 8
mov eax, dword [rsp + 0x30]
mov dword [r15 + 0x10], eax
mov edx, dword [rsp + 0x30]
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
add esi, 0x5f
cmp esi, 0x132
jb 0x1800166c2
mov esi, SHStripMneumonicW
mov eax, esi
sub eax, 0xde
je 0x180016816
sub eax, 0x16
je 0x1800167ae
cmp eax, 0x16
je 0x1800169ed
jmp 0x180016828
mov edx, 0x24
lea ecx, [rdx - 0x23]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_calloc]
mov r15, qword [rsp + 0x40]
mov qword [r15 + 8], rax
test rax, rax
je 0x180015e9d
mov eax, dword [r12]
mov dword [rsp + 0x30], eax
mov r9d, 0x108
mov r8, r13
lea rdx, [rsp + 0x30]
mov rcx, qword [r15 + 8]
call fcn.1800552b0
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov r9, qword [r15 + 8]
lea r8, [rsp + 0x30]
xor edx, edx
lea ecx, [rax + 0xe]
call fcn.180026dc0
mov ebx, eax
test eax, eax
jne 0x180015ea2
jmp 0x180016828
mov rax, qword [rsp + 0x40]
mov dword [rax], 0xb
mov dword [rax + 0x10], 1
add esi, 0x16
cmp esi, 0x120
jb 0x180016795
mov esi, dword [rsp + 0x64]
mov r14d, 0x18
mov dword [rsp + 0x38], r14d
nop word [rax + rax]
mov eax, r14d
sub eax, 0x14
je 0x1800169ed
sub eax, 1
je 0x18001691a
sub eax, 1
je 0x1800168aa
sub eax, 1
je 0x18001688f
cmp eax, 1
jne 0x180016953
xor eax, eax
cmp esi, 0x30
setne al
add eax, 0xd
mov rcx, qword [rsp + 0x40]
mov dword [rcx], eax
jmp 0x180016953
dec dword [r12]
movzx eax, byte [r13 + 1]
mov dword [rsp + 0x5c], eax
add r13, 2
mov qword [rsp + 0x70], r13
jmp 0x180016953
dec dword [r12]
mov ecx, 2
mov dword [rsp + 0x60], ecx
cmp dword [rsp + 0x5c], 0x80
jbe 0x180016914
mov eax, 0xc0
mov r14d, dword [rsp + 0x5c]
nop dword [rax + rax]
cmp eax, 0xc0
je 0x1800168eb
cmp eax, 0x2c40
jne 0x1800168f9
sub dword [r12], r14d
add ecx, r14d
mov dword [rsp + 0x60], ecx
jmp 0x1800168f9
and r14d, 0x7f
mov ecx, r14d
add r13, rcx
mov ecx, dword [rsp + 0x60]
add eax, 0x2b80
cmp eax, 0x5700
jbe 0x1800168d0
mov dword [rsp + 0x5c], r14d
mov qword [rsp + 0x70], r13
mov r14d, dword [rsp + 0x38]
sub dword [rsp + 0x30], ecx
jmp 0x180016953
mov r15, qword [rsp + 0x40]
mov r9, r13
lea r8, [r15 + 0x28]
lea rdx, [rsp + 0x30]
mov ecx, 0x108
call fcn.1800156a0
mov ebx, eax
test eax, eax
jne 0x180015ea2
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x60]
mov dword [rsp + 0x58], eax
mov rax, qword [r15 + 0x28]
mov qword [rax + 0x30], r15
dec r14d
mov dword [rsp + 0x38], r14d
cmp r14d, 0x13
mov esi, dword [rsp + 0x64]
ja 0x180016850
mov esi, 0x70
nop
mov eax, esi
sub eax, 0x70
je 0x1800169d8
sub eax, 1
je 0x1800169c7
sub eax, 1
je 0x1800169b8
cmp eax, 1
jne 0x1800169e6
mov r12d, 0x106
mov r15, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x18]
mov rax, qword [r15 + 0x30]
test rcx, rcx
jne 0x1800169a7
test rax, rax
je 0x180016ba0
mov r15, rcx
test rax, rax
cmovne r15, rax
mov qword [rsp + 0x40], r15
jmp 0x180016991
mov rax, qword [rsp + 0x40]
mov qword [rax + 0x20], 0
jmp 0x1800169e6
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1800169e6
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x40], rax
inc esi
cmp esi, 0x74
jb 0x180016970
mov r14d, 0x22
mov eax, dword [rsp + 0x58]
add eax, dword [rsp + 0x30]
mov dword [rsp + 0x58], eax
jmp 0x180016a17
mov eax, dword [rsp + 0x30]
add r13, rax
mov qword [rsp + 0x70], r13
jmp 0x180016a17
mov eax, dword [rsp + 0x30]
sub dword [r12], eax
dec r14d
cmp r14d, 0x1f
ja 0x180015e20
jmp 0x180015e04
mov ebx, 7
mov r12d, 0x103
jmp 0x180016ba0
mov edi, 0x10
mov ebx, edi
mov r12d, 0x103
jmp 0x180016ba0
mov dword [rsp + 0x58], 0
jmp case.0x180015a2a.157
mov eax, dword [rsp + 0x58]
mov dword [r15], eax
jmp case.0x180015a2a.157
mov dword [rbp - 0x10], 0x38
mov r9d, 0xe5
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1800081d0
mov r9d, eax
lea r10, [rbp + 0x65]
nop dword [rax]
nop dword [rax + rax]
dec r10
mov eax, 0xcccccccd
mul r9d
shr edx, 3
movzx ecx, dl
shl cl, 2
lea r8d, [rcx + rdx]
add r8b, r8b
sub r9b, r8b
add r9b, 0x30
mov byte [r10], r9b
mov r9d, edx
test edx, edx
jne 0x180016a90
xor r14d, r14d
mov qword [rbp - 0x40], r14
mov r15d, 0xf
mov qword [rbp - 0x38], r15
mov byte [rbp - 0x50], r14b
lea rax, [rbp + 0x65]
cmp r10, rax
je 0x180016af5
lea r8, [rbp + 0x65]
sub r8, r10
mov rdx, r10
lea rcx, [rbp - 0x50]
call fcn.18001fe20
mov r15, qword [rbp - 0x38]
mov r14, qword [rbp - 0x40]
or esi, 3
mov dword [rsp + 0x68], esi
lea r9, [rbp - 0x50]
mov r13, qword [rbp - 0x50]
cmp r15, 0x10
cmovae r9, r13
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x180016b4c
lea rax, [rcx + r14]
mov qword [rbp - 0x60], rax
lea rsi, [rbp - 0x70]
cmp rdx, 0x10
cmovae rsi, qword [rbp - 0x70]
add rsi, rcx
mov r8, r14
mov rdx, r9
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + r14], 0
jmp 0x180016b68
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.180003f60
mov r15, qword [rbp - 0x38]
mov r13, qword [rbp - 0x50]
cmp r15, 0x10
jb 0x180016b9b
lea rdx, [r15 + 1]
mov rax, r13
cmp rdx, 0x1000
jb 0x180016b93
add rdx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180016bd3
mov rcx, r13
call fcn.18005b188
mov r13, qword [rsp + 0x70]
mov r15, qword [rsp + 0x78]
dec r12d
mov dword [rsp + 0x38], r12d
cmp r12d, dword [rsp + 0x6c]
jbe 0x180015c52
mov r8, qword [rbp - 0x80]
mov esi, dword [rsp + 0x68]
lea rcx, [0x180000000]
jmp 0x180015a00
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor ebx, ebx
jmp case.0x180015a2a.149
call fcn.18005b188
mov eax, ebx
mov rcx, qword [rbp + 0x68]
xor rcx, rsp
call fcn.18005b930
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.18001f800
nop
nop dword [rax]
out dx, al
push rdi
add dword [rax], eax
pop rcx
add dword [rax], eax
push rdi
push rdi
add dword [rax], eax
pop rdx
pop rax
add dword [rax], eax
invalid