Function at 0x140012104
Capabilities:
Write file on windows

Disassembly:
mov rax, rsp
mov dword [rax + 0x20], r9d
mov dword [rax + 0x18], r8d
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov eax, r9d
mov r14, rcx
lea r13, str.WmiApRpl
mov qword [rsp + 0x78], r13
mov edi, 0x8000ffff
xor esi, esi
cmp word [str.WmiApRpl], si
je 0x14001335c
test eax, eax
jne 0x14001215c
cmp dword [rcx + 0x50], esi
je 0x14001335c
mov qword [rsp + 0x50], rsi
mov rcx, r13
call qword [sym.imp.msvcrt.dll_wcslen]
nop dword [rax + rax]
lea r15d, [rax + 0xa]
mov eax, 2
mul r15
mov r12, 0xffffffffffffffff
cmovo rax, r12
mov rcx, rax
call fcn.140001284
mov rbx, rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x1400121af
mov r13d, 0x8007000e
mov edi, r13d
jmp 0x140012470
mov r8, r13
mov rdx, r15
mov rcx, rbx
call fcn.140005370
mov edi, eax
test eax, eax
js 0x14001246a
lea r8, str._new.ini
mov rdx, r15
mov rcx, rbx
call fcn.140005324
mov edi, eax
test eax, eax
js 0x14001246a
mov rdx, rbx
mov rcx, r14
call fcn.14000ff2c
mov edi, eax
test eax, eax
js 0x14001246a
mov edi, 0x80004005
mov dword [rsp + 0xd8], esi
lea rcx, [0x140020d14]
call qword [sym.imp.msvcrt.dll_strlen]
nop dword [rax + rax]
mov r15, rax
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0xd8]
mov r8d, eax
lea rdx, [0x140020d14]
mov rcx, qword [r14 + 0x68]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_WriteFile]
nop dword [rax + rax]
test eax, eax
je 0x14001246a
cmp r15d, dword [rsp + 0xd8]
jne 0x14001246a
mov edi, esi
lea rax, vtable.CGenerateComment.0
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rsi
lea rcx, [rsp + 0x38]
call fcn.140015254
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400152c8
lea rdx, str.Copyright__C__2000_Microsoft_Corporation
lea rcx, [rsp + 0x38]
call fcn.1400152c8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400152c8
lea rdx, str.Module_Name:
lea rcx, [rsp + 0x38]
call fcn.1400152c8
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.1400152c8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400152c8
lea rdx, str.Abstract:
lea rcx, [rsp + 0x38]
call fcn.1400152c8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400152c8
lea rdx, str.Describes_all_the_counters_supported_via_WMI_Hi_Performance_providers
lea rcx, [rsp + 0x38]
call fcn.1400152c8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400152c8
lea rcx, [rsp + 0x38]
call fcn.1400151cc
nop
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400150f8
lea rdx, str._info__r_n
lea rcx, [rsp + 0x38]
call fcn.1400150f8
lea rdx, str.drivername
lea rcx, [rsp + 0x38]
call fcn.1400150f8
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.1400150f8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400150f8
lea rdx, str.symbolfile
lea rcx, [rsp + 0x38]
call fcn.1400150f8
mov rdx, r13
lea rcx, [rsp + 0x38]
call fcn.1400150f8
lea rdx, [0x140020cc4]
lea rcx, [rsp + 0x38]
call fcn.1400150f8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400150f8
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400150f8
lea rdx, str._languages__r_n
lea rcx, [rsp + 0x38]
call fcn.1400150f8
mov r12d, esi
mov r13d, 0x8007000e
mov r15d, 1
cmp r12d, dword [r14 + 0x5c]
jae 0x140012407
mov eax, r12d
mov edx, dword [r14 + rax*4 + 0x54]
call fcn.140013398
mov r13, rax
test rax, rax
je 0x1400123f9
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400150f8
mov rcx, r13
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov r13d, 0x8007000e
jmp 0x140012402
mov r13d, 0x8007000e
mov edi, r13d
add r12d, r15d
jmp 0x1400123ba
xor edx, edx
lea rcx, [rsp + 0x38]
call fcn.1400150f8
nop
test edi, edi
js 0x140012457
mov rdx, qword [rsp + 0x40]
mov rcx, r14
call fcn.140010804
mov edi, eax
test eax, eax
js 0x140012457
mov rcx, r14
call fcn.140011ce8
mov edi, eax
jmp 0x140012457
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop dword [rax + rax]
jmp 0x140012476
mov r13d, 0x8007000e
mov r15d, 1
mov rcx, rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x50], rbx
test edi, edi
js 0x14001272f
mov rax, rsi
cmp dword [r14 + 0x5c], 2
jne 0x14001264d
call fcn.14000c110
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x140012630
mov r8d, dword [r14 + 0x54]
lea rdx, str.WMI_Objects
call fcn.14001348c
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140012617
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001261a
mov r8d, r15d
lea rdx, str.NAME
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001261a
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001261a
mov edx, 0xcc
mov rcx, qword [rsp + 0xd8]
call fcn.14000747c
mov r12, rax
test rax, rax
je 0x140012617
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012563
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test edi, edi
js 0x14001261a
mov r8d, r15d
mov rdx, qword [rsp + 0x60]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001261a
mov r8d, r15d
lea rdx, str.HELP
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001261a
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001261a
mov edx, 0xcf
mov rcx, qword [rsp + 0xd8]
call fcn.14000747c
mov r12, rax
test rax, rax
je 0x140012617
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012606
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
jmp 0x14001261a
mov edi, r13d
mov rcx, qword [rsp + 0xd8]
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
nop dword [rax + rax]
jmp 0x140012635
mov edi, 0x80004005
mov rcx, rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x50], rbx
mov rax, r15
test edi, edi
js 0x14001272f
mov r8d, dword [r14 + rax*4 + 0x54]
lea rdx, str.WMI_Objects
call fcn.14001348c
mov r12, rax
test rax, rax
je 0x140012947
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x1400126ee
mov r8d, r15d
lea rdx, str.NAMEWMI_Objects
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x1400126ee
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x1400126ee
mov r8d, r15d
mov rdx, r12
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x1400126ee
mov r8d, r15d
lea rdx, str.HELPNumber_of_WMI_High_Performance_provider_returned_by_WMI_Adapter
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x1400126ee
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, r12
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov rcx, rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x50], rbx
test edi, edi
js 0x14001272f
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x50], rbx
mov r8d, esi
mov dword [rsp + 0xd8], esi
test edi, edi
js 0x14001332e
cmp dword [rsp + 0xe8], 0xffffffff
je 0x140012a21
mov r12d, esi
mov dword [rsp + 0x48], r12d
mov eax, edi
cmp r12d, dword [r14 + 0x50]
jae 0x140012a19
test edi, edi
js 0x14001332e
mov eax, r12d
lea rax, [rax + rax*4]
mov qword [rsp + 0x60], rax
cmp qword [r14 + rax*8 + 0x20], rsi
je 0x140012a11
mov rbx, qword [r14 + rax*8 + 0x18]
mov rbx, qword [rbx]
cmp rbx, qword [r14 + rax*8 + 0x18]
je 0x1400129dd
test edi, edi
js 0x1400129dd
mov rax, qword [rbx + 0x28]
mov ecx, dword [rax + 0x20]
mov dword [rsp + 0x58], ecx
mov eax, esi
mov dword [rsp + 0xe0], eax
cmp eax, dword [r14 + 0x5c]
jae 0x140012975
test edi, edi
js 0x140012995
cmp eax, ecx
jae 0x140012975
mov rdx, qword [rbx + 0x28]
mov rdx, qword [rdx + 8]
call fcn.14001057c
mov rdi, rax
test rax, rax
je 0x140012957
mov eax, dword [rsp + 0xe0]
mov r8d, dword [r14 + rax*4 + 0x54]
mov rdx, rdi
call fcn.14001348c
mov qword [rsp + 0x68], rax
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140012957
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
lea rdx, str.NAME
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x18]
mov edx, dword [rsp + 0xe0]
mov rdx, qword [rcx + rdx*8]
mov r8d, r15d
mov rdx, qword [rdx + 8]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
mov rdx, qword [rsp + 0x68]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
lea rdx, str.HELP
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x18]
mov eax, dword [rsp + 0xe0]
mov rdx, qword [rcx + rax*8]
mov r8d, r15d
mov rdx, qword [rdx + 0x10]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012934
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
jmp 0x14001295a
mov edi, r13d
mov r15, rbx
mov qword [rsp + 0x30], rbx
jmp 0x140013333
mov edi, r13d
mov eax, dword [rsp + 0xe0]
add eax, r15d
mov r8d, dword [rsp + 0xd8]
mov ecx, dword [rsp + 0x58]
jmp 0x1400127aa
test edi, edi
js 0x140012995
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov r8d, dword [rsp + 0xd8]
cmp byte [rbx + 0x19], sil
jne 0x1400129c8
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x19], sil
jne 0x1400129ac
call fcn.14000ddf8
jmp 0x1400129c5
mov rax, qword [rbx + 8]
jmp 0x1400129bf
cmp rbx, qword [rax + 0x10]
jne 0x1400129c5
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], sil
je 0x1400129b2
mov rbx, rax
add r8d, r15d
mov dword [rsp + 0xd8], r8d
mov rax, qword [rsp + 0x60]
jmp 0x14001278a
jmp 0x140012a11
add r12d, r15d
jmp 0x140012752
test eax, eax
js 0x14001332e
lea rax, [r14 + 0x5c]
mov qword [rsp + 0x38], rax
mov r12, rsi
cmp dword [rax], 2
jne 0x140012d62
call fcn.14000c110
mov r12, rax
test rax, rax
je 0x140012d52
mov r8d, dword [r14 + 0x54]
lea rdx, str.HiPerf_Classes
call fcn.14001348c
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x140012d3e
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, str.NAME
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov edx, 0xcd
mov rcx, r12
call fcn.14000747c
mov rbx, rax
test rax, rax
je 0x140012d3e
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012af9
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test edi, edi
js 0x140012d41
mov r8d, r15d
mov rdx, qword [rsp + 0xd8]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, str.HELP
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov edx, 0xd0
mov rcx, r12
call fcn.14000747c
mov rbx, rax
test rax, rax
je 0x140012bb3
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012ba2
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
jmp 0x140012bb6
mov edi, r13d
test edi, edi
js 0x140012d41
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, dword [r14 + 0x54]
lea rdx, str.HiPerf_Validity
call fcn.14001348c
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x140012d3e
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, str.NAME
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov edx, 0xce
mov rcx, r12
call fcn.14000747c
mov rbx, rax
test rax, rax
je 0x140012d3e
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012c8c
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test edi, edi
js 0x140012d41
mov r8d, r15d
mov rdx, qword [rsp + 0xd8]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, str.HELP
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d41
mov edx, 0xd1
mov rcx, r12
call fcn.14000747c
mov rbx, rax
test rax, rax
je 0x140012d3e
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012d2d
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
jmp 0x140012d41
mov edi, r13d
mov rcx, r12
call qword [sym.imp.api_ms_win_core_libraryloader_l1_2_0.dll_FreeLibrary]
nop dword [rax + rax]
jmp 0x140012d57
mov edi, 0x80004005
mov r12, r15
test edi, edi
js 0x14001332e
mov r8d, dword [r14 + r12*4 + 0x54]
lea rdx, str.HiPerf_Classes
call fcn.14001348c
mov rbx, rax
test rax, rax
je 0x14001332b
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012deb
mov r8d, r15d
lea rdx, str.NAMEHiPerf_Classes
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012deb
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012deb
mov r8d, r15d
mov rdx, rbx
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012deb
mov r8d, r15d
lea rdx, str.HELPShows_High_Performance_Classes
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test edi, edi
js 0x14001332e
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x14001332e
mov r8d, dword [r14 + r12*4 + 0x54]
lea rdx, str.HiPerf_Validity
call fcn.14001348c
mov rbx, rax
test rax, rax
je 0x14001332b
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012ebf
mov r8d, r15d
mov rdx, rbx
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012ebf
mov r8d, r15d
lea rdx, str.NAMEHiPerf_Validity
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012ebf
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012ebf
mov r8d, r15d
mov rdx, rbx
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140012ebf
mov r8d, r15d
lea rdx, str.HELPShows_if_High_Performance_Classes_are_valid
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test edi, edi
js 0x14001332e
or rbx, 0xffffffffffffffff
cmp dword [rsp + 0xe8], ebx
je 0x140013248
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov dword [rsp + 0xd8], esi
mov r12d, esi
mov dword [rsp + 0x58], r12d
mov eax, edi
cmp r12d, dword [r14 + 0x50]
jae 0x140013240
test edi, edi
js 0x14001332e
mov eax, r12d
lea rbx, [rax + rax*4]
mov qword [rsp + 0x80], rbx
cmp qword [r14 + rbx*8 + 0x20], rsi
je 0x140013234
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rbx, qword [r14 + rbx*8 + 0x18]
mov rbx, qword [rbx]
mov rax, qword [rsp + 0x80]
cmp rbx, qword [r14 + rax*8 + 0x18]
je 0x140013208
test edi, edi
js 0x140013208
mov ecx, esi
mov dword [rsp + 0x48], ecx
mov rax, qword [rbx + 0x28]
cmp ecx, dword [rax + 0x38]
jae 0x1400131c8
test edi, edi
js 0x1400131c8
mov edx, ecx
mov qword [rsp + 0x60], rdx
mov rax, qword [rax + 0x30]
mov rcx, qword [rax + rdx*8]
cmp qword [rcx + 0x20], rsi
je 0x1400131bc
mov r8d, dword [rcx + 0x28]
mov dword [rsp + 0x68], r8d
mov ecx, esi
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x50], rax
mov dword [rsp + 0xe0], ecx
mov rax, qword [rsp + 0x38]
cmp ecx, dword [rax]
jae 0x1400131a4
test edi, edi
js 0x1400131bc
cmp ecx, r8d
jae 0x1400131a4
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x30]
mov rdx, qword [rcx + rdx*8]
mov r8d, dword [rsp + 0xd8]
mov rdx, qword [rdx + 8]
call fcn.14001057c
mov rdi, rax
test rax, rax
je 0x140013188
mov eax, dword [rsp + 0xe0]
mov r8d, dword [r14 + rax*4 + 0x54]
mov rdx, rdi
call fcn.14001348c
mov qword [rsp + 0x70], rax
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x140013188
mov r8d, r15d
mov rdx, rax
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
lea rdx, str.NAME
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x60]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x20]
mov edx, dword [rsp + 0xe0]
mov rdx, qword [rcx + rdx*8]
mov r8d, r15d
mov rdx, qword [rdx + 8]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
mov rdx, qword [rsp + 0x70]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
lea rdx, str.HELP
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
lea rdx, [0x140020708]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov rax, qword [rbx + 0x28]
mov rcx, qword [rax + 0x30]
mov rax, qword [rsp + 0x60]
mov rax, qword [rcx + rax*8]
mov rcx, qword [rax + 0x20]
mov eax, dword [rsp + 0xe0]
mov rdx, qword [rcx + rax*8]
mov r8d, r15d
mov rdx, qword [rdx + 0x10]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
test eax, eax
js 0x140013175
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
jmp 0x14001318b
mov edi, r13d
mov ecx, dword [rsp + 0xe0]
add ecx, r15d
mov rdx, qword [rsp + 0x60]
mov r8d, dword [rsp + 0x68]
jmp 0x140012fbd
test edi, edi
js 0x1400131bc
mov r8d, r15d
lea rdx, [0x1400206b0]
mov rcx, r14
call fcn.14000fce0
mov edi, eax
mov ecx, dword [rsp + 0x48]
add ecx, r15d
jmp 0x140012f71
cmp byte [rbx + 0x19], sil
jne 0x1400131fb
mov rcx, qword [rbx + 0x10]
cmp byte [rcx + 0x19], sil
jne 0x1400131df
call fcn.14000ddf8
jmp 0x1400131f8
mov rax, qword [rbx + 8]
jmp 0x1400131f2
cmp rbx, qword [rax + 0x10]
jne 0x1400131f8
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], sil
je 0x1400131e5
mov rbx, rax
add dword [rsp + 0xd8], r15d
jmp 0x140012f54
jmp 0x140013234
or rbx, 0xffffffffffffffff
add r12d, r15d
jmp 0x140012f05
test eax, eax
js 0x14001332e
mov edx, r15d
mov rcx, r14
call fcn.14000fec4
mov edi, eax
test eax, eax
js 0x14001332e
mov qword [rsp + 0xd8], rsi
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.msvcrt.dll_wcslen]
nop dword [rax + rax]
lea r15d, [rax + 6]
mov eax, 2
mul r15
cmovo rax, rbx
mov rcx, rax
call fcn.140001284
mov rbx, rax
mov qword [rsp + 0xd8], rax
test rax, rax
jne 0x1400132a8
mov edi, r13d
mov r15, qword [rsp + 0x30]
jmp 0x140013311
mov r8, qword [rsp + 0x78]
mov rdx, r15
mov rcx, rbx
call fcn.140005370
mov edi, eax
test eax, eax
js 0x1400132a1
lea r8, str..ini
mov rdx, r15
mov rcx, rbx
call fcn.140005324
mov edi, eax
test eax, eax
js 0x1400132a1
mov r8, rbx
mov r15, qword [rsp + 0x30]
mov rdx, r15
mov rcx, r14
call fcn.140010264
mov edi, eax
jmp 0x1400132a6
test rbx, rbx
je 0x140013325
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
test edi, edi
jns 0x140013343
jmp 0x140013333
mov edi, r13d
mov r15, qword [rsp + 0x30]
call fcn.14000fea0
mov rdx, r15
mov rcx, r14
call fcn.140010110
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x14001335c
mov rcx, rax
call qword [sym.imp.msvcrt.dll_void___cdecl_operator_delete___void____ptr64_]
nop dword [rax + rax]
mov eax, edi
add rsp, 0x90
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret