Function at 0x1401c2330
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x130]
sub rsp, 0x230
mov rax, qword [0x14055f260]
xor rax, rsp
mov qword [rbp + 0x120], rax
mov r15, rdx
mov r12, rcx
mov dword [rsp + 0x38], r8d
xor r13d, r13d
mov r14d, r13d
mov dword [rsp + 0x30], r13d
lea edx, [r13 + 1]
call fcn.1401b9c30
test al, al
je 0x1401c23d0
cmp qword [r15 + 0x10], r13
jne 0x1401c238e
mov edx, r13d
jmp 0x1401c239b
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x1401c239b
mov rdx, qword [r15]
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rcx, qword [r12]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov dword [r12 + 0x48], eax
test eax, eax
jne 0x1401c23d0
mov al, 1
jmp 0x1401c2c14
xor al, al
mov edi, 0xffff
lea rsi, [0x1403c8f48]
test al, al
jne 0x1401c2433
mov rdx, rsi
lea rcx, [rbp + 8]
call fcn.14010a1d0
mov rbx, rax
or r14d, 1
mov dword [rsp + 0x30], r14d
cmp dword [0x140575068], 0
je 0x1401c2417
call sub.KERNEL32.dll_GetCurrentThreadId
cmp eax, dword [0x140575068]
je 0x1401c2417
call fcn.140136fe0
jmp 0x1401c241e
movzx eax, byte [reloc.WS2_32.dll_accept]
test al, al
je 0x1401c2433
mov rcx, rbx
call fcn.140136b60
cmp eax, 1
jb 0x1401c2433
mov bl, 1
jmp 0x1401c2435
xor bl, bl
test r14b, 1
je 0x1401c2457
and r14d, 0xfffffffe
mov dword [rsp + 0x30], r14d
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rbp + 8]
call fcn.14000e160
test bl, bl
je 0x1401c2c12
lea rax, [rbp - 0x58]
mov qword [rsp + 0x68], rax
mov rax, qword [0x140575108]
test rax, rax
jne 0x1401c2480
call fcn.140120770
mov qword [0x140575108], rax
mov r9, rax
mov r8, qword [0x1403c87b8]
lea rdx, str.Cant_set_value_of__s
lea rcx, [rbp - 0x80]
call fcn.140109720
nop
mov rbx, qword [rax]
mov qword [rsp + 0x70], rbx
call fcn.14010aa30
cmp rbx, rax
je 0x1401c24b1
inc word [rbx + 0x10]
or r14d, 2
mov dword [rsp + 0x30], r14d
call fcn.14010aa30
mov rcx, qword [rbp - 0x80]
cmp rcx, rax
je 0x1401c2501
add word [rcx + 0x10], di
jne 0x1401c24f8
mov rdi, qword [rbp - 0x80]
test rdi, rdi
je 0x1401c24f3
cmp byte [rdi + 0x12], 0
je 0x1401c24e6
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rdi
call fcn.14036c454
mov edi, 0xffff
call fcn.14010aa30
mov qword [rbp - 0x80], rax
mov rdx, qword [rbx]
mov qword [rbp + 8], r13
mov qword [rbp + 0x18], r13
mov qword [rbp + 0x20], 7
mov word [rbp + 8], r13w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401c2520
lea rcx, [rbp + 8]
call fcn.14001d300
and r14d, 0xfffffffd
mov dword [rsp + 0x30], r14d
call fcn.14010aa30
cmp rbx, rax
je 0x1401c2578
add word [rbx + 0x10], di
jne 0x1401c256e
test rbx, rbx
je 0x1401c256e
cmp byte [rbx + 0x12], 0
je 0x1401c2561
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14036c454
call fcn.14010aa30
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x28], r13
mov qword [rbp + 0x30], r13
mov qword [rbp + 0x68], r13
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r13w
mov qword [rbp + 0x88], r13
mov qword [rbp + 0x90], r13
mov qword [rbp + 0x38], r13
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r13w
mov qword [rbp + 0x58], r13
mov qword [rbp + 0x60], r13
call fcn.140149fa0
test rax, rax
je 0x1401c25e9
lea r9, [rbp + 0x68]
lea r8, [rbp + 0x38]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.14014a3e0
mov rbx, rax
test rax, rax
jne 0x1401c25f5
lea rcx, [rbp + 8]
call fcn.14014b190
mov rbx, rax
call fcn.14010aa30
mov qword [rsp + 0x40], rax
call fcn.14010aa30
mov qword [rsp + 0x48], rax
call fcn.14010aa30
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], r13
mov rax, qword [0x140575108]
test rax, rax
jne 0x1401c2635
call fcn.140120770
mov qword [0x140575108], rax
mov r9, rax
mov r8, qword [0x1403c87b8]
lea rdx, str.wx.sys_error
lea rcx, [rbp - 0x70]
call fcn.140109720
nop
mov rbx, qword [rax]
mov qword [rsp + 0x78], rbx
call fcn.14010aa30
cmp rbx, rax
je 0x1401c2666
inc word [rbx + 0x10]
or r14d, 4
mov dword [rsp + 0x30], r14d
call fcn.14010aa30
mov rcx, qword [rbp - 0x70]
cmp rcx, rax
je 0x1401c26b6
add word [rcx + 0x10], di
jne 0x1401c26ad
mov rdi, qword [rbp - 0x70]
test rdi, rdi
je 0x1401c26a8
cmp byte [rdi + 0x12], 0
je 0x1401c269b
mov rcx, qword [rdi]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rdi
call fcn.14036c454
mov edi, 0xffff
call fcn.14010aa30
mov qword [rbp - 0x70], rax
mov rdx, qword [rbx]
mov qword [rbp - 0x28], r13
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r13w
mov r8, 0xffffffffffffffff
inc r8
cmp word [rdx + r8*2], 0
jne 0x1401c26d5
lea rcx, [rbp - 0x28]
call fcn.14001d300
and r14d, 0xfffffffb
mov dword [rsp + 0x30], r14d
call fcn.14010aa30
cmp rbx, rax
je 0x1401c272d
add word [rbx + 0x10], di
jne 0x1401c2723
test rbx, rbx
je 0x1401c2723
cmp byte [rbx + 0x12], 0
je 0x1401c2716
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14036c454
call fcn.14010aa30
mov qword [rsp + 0x78], rax
mov qword [rbp - 8], r13
mov qword [rbp], r13
mov r8, r15
mov rdx, r12
lea rcx, [rbp - 0x58]
call fcn.1401b7bd0
mov rdi, rax
mov qword [rbp - 0x60], rax
mov dword [rbp + 0xa0], 1
lea rax, str.C:ProjectwxWidgets_3.2.2.1_srcmsw_registry.cpp
mov qword [rbp + 0xa8], rax
lea rax, str.wxRegKey::SetValue
mov qword [rbp + 0xb8], rax
mov dword [rbp + 0xb0], 0x374
mov qword [rbp + 0xc0], rsi
mov qword [rbp + 0xc8], r13
mov qword [rbp + 0xd0], r13
call sub.KERNEL32.dll_GetCurrentThreadId
mov dword [rbp + 0xd8], eax
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x100], 7
mov word [rbp + 0xe8], r13w
mov qword [rbp + 0x108], r13
mov qword [rbp + 0x110], r13
call sub.KERNEL32.dll_GetLastError
mov ebx, eax
cmp qword [rbp + 0xf8], 0
je 0x1401c2825
cmp qword [0x14055a4b8], 0
je 0x1401c2825
lea rax, str.can_only_have_one_optional_value
mov qword [rsp + 0x20], rax
lea r9, str.m_optKey.empty__
lea r8, str.wxLogger::MaybeStore
mov edx, 0x39e
lea rcx, str.C:ProjectwxWidgets_3.2.2.1includewxlog.h
call fcn.140118ee0
cmp byte [0x1405750a8], 0
je 0x1401c2825
mov byte [0x1405750a8], 0
int3
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 8
cmovae rdx, qword [rbp - 0x28]
mov r8, qword [rbp - 0x18]
lea rcx, [rbp + 0xe8]
call fcn.14001d300
mov r8, rbx
lea rdx, [rbp - 0x28]
lea rcx, [rbp + 0xa8]
call fcn.140183e20
mov esi, dword [r12 + 0x48]
mov qword [rsp + 0x68], rdi
mov edx, 1
lea rcx, [rsp + 0x40]
call fcn.1401448b0
mov ecx, eax
and ecx, 6
cmp ecx, eax
je 0x1401c28be
cmp qword [0x14055a4b8], 0
je 0x1401c28be
lea rax, str.format_specifier_doesnt_match_argument_type
mov qword [rsp + 0x20], rax
lea r9, str._argtype___wxFormatString::Arg_String____argtype
lea r8, str.wxArgNormalizerWchar_class_wxString_const__::wxArgNormalizerWchar
mov edx, 0x230
lea rcx, str.C:ProjectwxWidgets_3.2.2.1includewx_strvararg.h
call fcn.140118ee0
cmp byte [0x1405750a8], 0
je 0x1401c28be
mov byte [0x1405750a8], 0
int3
lea rcx, [rsp + 0x40]
call fcn.140143f20
mov rbx, rax
lea rcx, [rsp + 0x68]
call fcn.140145820
mov r9, rax
mov r8, rbx
mov edx, esi
lea rcx, [rbp + 0xa0]
call fcn.1401839a0
nop
mov rcx, qword [rdi + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rdi
call fcn.14000e160
nop
mov rcx, qword [rbp + 0x108]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x100]
cmp rdx, 8
jb 0x1401c2950
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401c294b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401c2bef
call fcn.14036c454
mov qword [rbp + 0xf8], r13
mov qword [rbp + 0x100], 7
mov word [rbp + 0xe8], r13w
mov rbx, qword [rbp + 0xe0]
test rbx, rbx
je 0x1401c29c8
lea r8, [0x1400110e0]
mov rdx, qword [rbx + 0x20]
mov rcx, qword [rbx + 0x28]
call fcn.14011b9f0
mov qword [rbx + 0x30], r13
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
lea r8, [0x140011220]
mov rdx, qword [rbx]
mov rcx, qword [rbx + 8]
call fcn.14011b9f0
mov qword [rbx + 0x10], r13
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
nop
mov edx, 0x40
mov rcx, rbx
call fcn.14036c454
nop
mov rcx, qword [rbp - 8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp - 0x10]
cmp rdx, 8
jb 0x1401c2a13
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401c2a0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401c2bf6
call fcn.14036c454
nop
call fcn.14010aa30
mov rcx, qword [rsp + 0x50]
mov edi, 0xffff
cmp rcx, rax
je 0x1401c2a5d
add word [rcx + 0x10], di
jne 0x1401c2a53
mov rbx, qword [rsp + 0x50]
test rbx, rbx
je 0x1401c2a53
cmp byte [rbx + 0x12], 0
je 0x1401c2a46
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14036c454
call fcn.14010aa30
mov qword [rsp + 0x50], rax
call fcn.14010aa30
mov rcx, qword [rsp + 0x48]
cmp rcx, rax
je 0x1401c2aa2
add word [rcx + 0x10], di
jne 0x1401c2a98
mov rbx, qword [rsp + 0x48]
test rbx, rbx
je 0x1401c2a98
cmp byte [rbx + 0x12], 0
je 0x1401c2a8b
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14036c454
call fcn.14010aa30
mov qword [rsp + 0x48], rax
call fcn.14010aa30
mov rcx, qword [rsp + 0x40]
cmp rcx, rax
je 0x1401c2ae7
add word [rcx + 0x10], di
jne 0x1401c2add
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x1401c2add
cmp byte [rbx + 0x12], 0
je 0x1401c2ad0
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, Ordinal_27
mov rcx, rbx
call fcn.14036c454
call fcn.14010aa30
mov qword [rsp + 0x40], rax
mov rcx, qword [rbp + 0x58]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x1401c2b31
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401c2b2c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401c2bfd
call fcn.14036c454
mov qword [rbp + 0x48], r13
mov qword [rbp + 0x50], 7
mov word [rbp + 0x38], r13w
mov rcx, qword [rbp + 0x88]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x80]
cmp rdx, 8
jb 0x1401c2b8e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401c2b89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401c2c04
call fcn.14036c454
mov qword [rbp + 0x78], r13
mov qword [rbp + 0x80], 7
mov word [rbp + 0x68], r13w
mov rcx, qword [rbp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rdx, qword [rbp + 0x20]
cmp rdx, 8
jb 0x1401c2be8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1401c2be3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1401c2c0b
call fcn.14036c454
mov al, 1
jmp 0x1401c23d7
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]
nop
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]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
xor al, al
mov rcx, qword [rbp + 0x120]
xor rcx, rsp
call fcn.14036c0d0
mov rbx, qword [rsp + 0x288]
add rsp, 0x230
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret