Function at 0x140060e50
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x420]
sub rsp, 0x520
mov rax, qword [0x14013a040]
xor rax, rsp
mov qword [rbp + 0x410], rax
mov rdi, r8
xor r12d, r12d
mov r8d, 0x104
lea rdx, [rbp + 0x300]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
mov qword [rbp + 0x78], r12
mov qword [rbp + 0x80], r12
lea rax, [rbp + 0x300]
mov r13, 0xffffffffffffffff
mov r8, r13
inc r8
cmp byte [rax + r8], r12b
jne 0x140060ec6
lea rdx, [rbp + 0x300]
lea rcx, [rbp + 0x68]
call fcn.14006b230
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x88]
call fcn.1400664a0
lea rbx, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0xf
seta r15b
mov r14, qword [rbp + 0x88]
cmova rbx, r14
mov rsi, qword [rbp + 0x98]
test rsi, rsi
je 0x140060f8d
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0xd0]
call fcn.1400f9b20
lea rcx, [0x140119ef4]
lea rdx, [0x140119ef6]
nop dword [rax + rax]
movzx eax, byte [rcx]
mov byte [rbp + rax + 0xd0], 1
inc rcx
cmp rcx, rdx
jne 0x140060f40
lea rax, [rsi - 1]
mov r8, r13
cmp rax, r13
cmovb r8, rax
add r8, rbx
movzx eax, byte [r8]
cmp byte [rbp + rax + 0xd0], r12b
jne 0x140060f88
cmp r8, rbx
je 0x140060f8d
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax + 0xd0], r12b
je 0x140060f72
sub r8, rbx
jmp 0x140060f90
mov r8, r13
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp + 0x88]
test r15b, r15b
cmovne rdx, r14
lea rcx, [rbp + 0x48]
call fcn.14006b230
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0xf
jbe 0x140061000
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140060ffb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140060ffb
call fcn.1400d9a1c
int3
call fcn.1400c2bcc
movups xmm0, xmmword [rbp + 0x48]
movups xmmword [rbp + 0x88], xmm0
movups xmm1, xmmword [rbp + 0x58]
movups xmmword [rbp + 0x98], xmm1
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], r12b
lea rcx, [rbp + 0x48]
call fcn.140068040
lea rax, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0xf
cmova rax, qword [rbp + 0x88]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x98]
mov qword [rbp - 0x78], rax
call fcn.1400c3b70
movaps xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rbp - 0x80], xmm0
lea r8, [rbp - 0x80]
mov edx, eax
lea rcx, [rbp + 0x28]
call fcn.14005e3e0
lea rcx, [rbp + 0x28]
cmp qword [rbp + 0x40], 7
cmova rcx, qword [rbp + 0x28]
call fcn.1400c3cac
test eax, eax
je 0x140061095
lea r8, [rbp + 0x28]
mov edx, eax
call fcn.14005eab0
int3
lea rcx, [rbp + 0x28]
call fcn.140067fd0
mov qword [rbp + 8], r12
mov qword [rsp + 0x40], r12
lea rax, [rbp + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SoftwareClasses.soda
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
xorps xmm0, xmm0
test eax, eax
jne 0x14006117e
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
lea r8d, [rax + 0x13]
lea rdx, str.Sodalite_Chart_File
lea rcx, [rbp + 0x48]
call fcn.14006b230
lea rcx, [rbp + 0x48]
mov r8, qword [rbp + 0x58]
cmp qword [rbp + 0x60], 0xf
jbe 0x14006111f
mov rdx, qword [rbp + 0x48]
add r8, rdx
jmp 0x140061126
add r8, rcx
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0x28]
call fcn.140069dc0
mov eax, dword [rbp + 0x38]
add eax, eax
lea rcx, [rbp + 0x28]
cmp qword [rbp + 0x40], 7
cmova rcx, qword [rbp + 0x28]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x28]
call fcn.140067fd0
lea rcx, [rbp + 0x48]
call fcn.140068040
jmp 0x1400611a9
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
mov r8d, 0x25
lea rdx, str._Main__Error_creating_registry_key_1.
lea rcx, [rbp + 0x28]
call fcn.14006b230
lea rcx, [rbp + 0x28]
call fcn.14005ed20
mov qword [rsp + 0x40], r12
lea rax, [rbp + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SoftwareClasses.sodaDefaultIcon
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov ebx, 2
test eax, eax
jne 0x1400612b4
lea rcx, [rbp + 0x68]
mov r8, qword [rbp + 0x78]
cmp qword [rbp + 0x80], 0xf
jbe 0x14006120b
mov rdx, qword [rbp + 0x68]
add r8, rdx
jmp 0x140061212
add r8, rcx
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x48]
call fcn.140069dc0
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x60]
mov rax, r8
sub rax, rdx
lea rcx, [rbp + 0x48]
cmp rax, rbx
jb 0x140061254
lea rax, [rdx + 2]
mov qword [rbp + 0x58], rax
cmp r8, 7
cmova rcx, qword [rbp + 0x48]
mov eax, dword [0x14011a098]
mov dword [rcx + rdx*2], eax
mov word [rcx + rdx*2 + 4], r12w
jmp 0x14006126e
mov qword [rsp + 0x20], rbx
lea r9, [0x14011a098]
movzx r8d, byte [rsp + 0x50]
mov rdx, rbx
call fcn.14006ab80
mov eax, dword [rbp + 0x58]
add eax, eax
lea rcx, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova rcx, qword [rbp + 0x48]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x48]
call fcn.140067fd0
jmp 0x1400612e2
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
mov r8d, 0x25
lea rdx, str._Main__Error_creating_registry_key_2.
lea rcx, [rbp + 0x28]
call fcn.14006b230
lea rcx, [rbp + 0x28]
call fcn.14005ed20
mov qword [rsp + 0x40], r12
lea rax, [rbp + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, str.SoftwareClasses.soda_shellOpen_with_Sodalitecommand
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140061400
lea rcx, [rbp + 0x68]
mov r8, qword [rbp + 0x78]
cmp qword [rbp + 0x80], 0xf
jbe 0x14006133f
mov rdx, qword [rbp + 0x68]
add r8, rdx
jmp 0x140061346
add r8, rcx
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x48]
call fcn.140069dc0
mov rsi, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x60]
mov rax, rcx
sub rax, rsi
cmp rax, 5
jb 0x140061396
lea rax, [rsi + 5]
mov qword [rbp + 0x58], rax
lea rbx, [rbp + 0x48]
cmp rcx, 7
cmova rbx, qword [rbp + 0x48]
lea rcx, [rbx + rsi*2]
mov r8d, 0xa
lea rdx, str.___1_
call fcn.1400f9f80
mov word [rbx + rsi*2 + 0xa], r12w
jmp 0x1400613ba
mov qword [rsp + 0x20], 5
lea r9, str.___1_
movzx r8d, byte [rsp + 0x50]
mov edx, 5
lea rcx, [rbp + 0x48]
call fcn.14006ab80
mov eax, dword [rbp + 0x58]
add eax, eax
lea rcx, [rbp + 0x48]
cmp qword [rbp + 0x60], 7
cmova rcx, qword [rbp + 0x48]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 8]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea rcx, [rbp + 0x48]
call fcn.140067fd0
jmp 0x14006142e
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
mov r8d, 0x25
lea rdx, str._Main__Error_creating_registry_key_3.
lea rcx, [rbp + 0x28]
call fcn.14006b230
lea rcx, [rbp + 0x28]
call fcn.14005ed20
xorps xmm0, xmm0
movups xmmword [rbp + 0xa8], xmm0
mov qword [rbp + 0xb8], r12
mov qword [rbp + 0xc0], r12
mov r8, r13
nop dword [rax]
inc r8
cmp byte [rdi + r8], r12b
jne 0x140061450
mov rdx, rdi
lea rcx, [rbp + 0xa8]
call fcn.14006b230
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], r12
mov qword [rbp + 0x60], r12
xor r8d, r8d
lea rdx, [0x140110636]
lea rcx, [rbp + 0x48]
call fcn.14006b230
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
mov r8d, 1
lea rdx, [0x14011a178]
lea rcx, [rsp + 0x58]
call fcn.14006b230
mov rdi, qword [rsp + 0x68]
test rdi, rdi
je 0x14006158d
mov rbx, r12
cmp qword [rsp + 0x70], 0xf
seta al
mov byte [rsp + 0x50], al
mov r13, qword [rbp + 0x58]
nop word [rax + rax]
lea rsi, [rsp + 0x58]
test al, al
cmovne rsi, qword [rsp + 0x58]
lea r12, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0xf
cmova r12, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xb8]
cmp rdi, rax
ja 0x140061583
sub rax, rdi
cmp rbx, rax
ja 0x140061583
test rdi, rdi
je 0x140061693
lea r14, [r12 + rax]
lea rcx, [r12 + rbx]
movsx r15d, byte [rsi]
lea r8, [r14 + 1]
sub r8, rcx
mov edx, r15d
call fcn.1400f9ec0
mov rbx, rax
test rax, rax
je 0x140061583
nop dword [rax]
nop dword [rax + rax]
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1400fa600
test eax, eax
je 0x140061690
inc rbx
lea r8, [r14 + 1]
sub r8, rbx
mov edx, r15d
mov rcx, rbx
call fcn.1400f9ec0
mov rbx, rax
test rax, rax
jne 0x140061550
mov r13, 0xffffffffffffffff
xor r12d, r12d
lea rcx, [rsp + 0x58]
call fcn.140068040
lea rcx, [rbp + 0x48]
call fcn.140068040
call fcn.14005eb80
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
mov r8d, 0x22
lea rdx, str._Main__Logging_system_initialized.
lea rcx, [rbp + 0x28]
call fcn.14006b230
lea rcx, [rbp + 0x28]
call fcn.14005ed20
call qword [sym.imp.libcurl.dll_curl_easy_init]
mov r15, rax
test rax, rax
je 0x140061d6a
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
mov r8d, 0x18
lea rdx, str._Main__Curl_initialized.
lea rcx, [rbp + 0x28]
call fcn.14006b230
lea rcx, [rbp + 0x28]
call fcn.14005ed20
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
mov qword [rbp - 0x48], r12
mov r8d, 5
lea rdx, str.1.4.9
lea rcx, [rbp - 0x60]
call fcn.14006b230
mov r8, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
sub rax, r8
mov r14d, 0x2e
lea rsi, str._Main__Checking_for_updates__current_version:
cmp rax, r14
jb 0x140061717
lea rax, [r8 + 0x2e]
mov qword [rbp - 0x50], rax
lea rbx, [rbp - 0x60]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x60]
lea rax, [0x14011a206]
cmp rax, rbx
jbe 0x1400616db
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x1400616db
cmp rbx, rsi
ja 0x1400616d3
mov rdi, r12
jmp 0x1400616de
sub rbx, r12
cmp rbx, 0xffffffffffffffff
je 0x140061583
lea r9, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova r9, qword [rbp + 0x48]
mov qword [rsp + 0x20], r13
mov r8, rdi
mov rdx, rbx
lea rcx, [rbp + 0xa8]
call fcn.1400680a0
mov r13, qword [rbp + 0x58]
add rbx, r13
movzx eax, byte [rsp + 0x50]
jmp 0x1400614e0
mov rdi, rbx
sub rdi, rsi
jmp 0x1400616de
mov rdi, r14
inc r8
lea rcx, [rbx + 0x2e]
mov rdx, rbx
call fcn.1400f9f80
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9f80
sub r14, rdi
lea rdx, [rsi + 0x2e]
add rdx, rdi
lea rcx, [rbx + rdi]
mov r8, r14
call fcn.1400f9f80
lea rax, [rbp - 0x60]
jmp 0x14006172d
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
mov rdx, r14
lea rcx, [rbp - 0x60]
call fcn.140070dc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], r12
mov qword [rbp + 0x40], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov r8d, 4
lea rdx, str._...
lea rcx, [rbp + 0x28]
call fcn.140068240
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x58], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x68], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rsp + 0x58]
call fcn.14005ed20
lea rcx, [rbp + 0x28]
call fcn.140068040
lea rcx, [rbp - 0x60]
call fcn.140068040
lea rdx, [0x14011a208]
lea rcx, str.update.zip
call fcn.1400d6510
mov r12, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor edi, edi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
lea r8d, [rdi + 5]
lea rdx, str.1.4.9
lea rcx, [rbp - 0x40]
call fcn.14006b230
mov r8, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
mov rcx, rdx
sub rcx, r8
lea r14d, [rdi + 0x2a]
lea rsi, str.https:__thekade.net_sodalite_update.php_v
cmp rcx, r14
jb 0x14006188c
lea rax, [r8 + 0x2a]
mov qword [rbp - 0x30], rax
lea rbx, [rbp - 0x40]
cmp rdx, 0xf
cmova rbx, qword [rbp - 0x40]
lea rax, [0x14011a24a]
cmp rax, rbx
jbe 0x14006184e
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x14006184e
cmp rbx, rsi
jbe 0x140061851
mov rdi, rbx
sub rdi, rsi
jmp 0x140061851
mov rdi, r14
inc r8
lea rcx, [rbx + 0x2a]
mov rdx, rbx
call fcn.1400f9f80
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9f80
sub r14, rdi
lea rdx, [rsi + 0x2a]
add rdx, rdi
lea rcx, [rbx + rdi]
mov r8, r14
call fcn.1400f9f80
lea rax, [rbp - 0x40]
xor edi, edi
jmp 0x1400618a2
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
mov rdx, r14
lea rcx, [rbp - 0x40]
call fcn.140070dc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x48], xmm0
mov qword [rbp + 0x58], rdi
mov qword [rbp + 0x60], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x58], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp - 0x40]
call fcn.140068040
movabs rax, 0x7fffffffffffffff
mov rcx, qword [rbp + 0x58]
sub rax, rcx
cmp rax, 0x13
jae 0x1400618f5
call fcn.14005d550
int3
lea rax, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova rax, qword [rbp + 0x48]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0x13
lea r9, str._Curl__Update_url:
lea rcx, [rbp + 0x28]
call fcn.14006e0e0
lea rcx, [rbp + 0x28]
call fcn.14005ed20
lea r8, [rbp + 0x48]
cmp qword [rbp + 0x60], 0xf
cmova r8, qword [rbp + 0x48]
mov edx, 0x2712
mov rcx, r15
call qword [sym.imp.libcurl.dll_curl_easy_setopt]
mov edx, 0x34
lea r8d, [rdx - 0x33]
mov rcx, r15
call qword [sym.imp.libcurl.dll_curl_easy_setopt]
lea r8, [0x140060e40]
mov edx, 0x4e2b
mov rcx, r15
call qword [sym.imp.libcurl.dll_curl_easy_setopt]
mov r8, r12
mov edx, 0x2711
mov rcx, r15
call qword [sym.imp.libcurl.dll_curl_easy_setopt]
mov rcx, r15
call qword [sym.imp.libcurl.dll_curl_easy_perform]
mov ebx, eax
mov rcx, r12
call fcn.1400d24d4
test ebx, ebx
je 0x140061acb
mov ecx, ebx
call qword [sym.imp.libcurl.dll_curl_easy_strerror]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], rdi
inc r13
cmp byte [rax + r13], 0
jne 0x1400619b5
mov r8, r13
mov rdx, rax
lea rcx, [rbp - 0x20]
call fcn.14006b230
mov r8, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov rax, rcx
sub rax, r8
mov r14d, 0x23
lea rsi, str._Main__Error_checking_for_updates:
cmp rax, r14
jb 0x140061a63
lea rax, [r8 + 0x23]
mov qword [rbp - 0x10], rax
lea rbx, [rbp - 0x20]
cmp rcx, 0xf
cmova rbx, qword [rbp - 0x20]
lea rax, [0x14011a28b]
cmp rax, rbx
jbe 0x140061a25
lea rax, [rbx + r8]
cmp rsi, rax
ja 0x140061a25
cmp rbx, rsi
jbe 0x140061a28
mov rdi, rbx
sub rdi, rsi
jmp 0x140061a28
mov rdi, r14
inc r8
lea rcx, [rbx + 0x23]
mov rdx, rbx
call fcn.1400f9f80
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
call fcn.1400f9f80
sub r14, rdi
lea rdx, [rsi + 0x23]
add rdx, rdi
lea rcx, [rbx + rdi]
mov r8, r14
call fcn.1400f9f80
lea rax, [rbp - 0x20]
xor edi, edi
jmp 0x140061a79
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], rsi
mov rdx, r14
lea rcx, [rbp - 0x20]
call fcn.140070dc0
xorps xmm0, xmm0
movups xmmword [rbp + 0x28], xmm0
mov qword [rbp + 0x38], rdi
mov qword [rbp + 0x40], rdi
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x28], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x38], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp + 0x28]
call fcn.14005ed20
lea rcx, [rbp - 0x20]
call fcn.140068040
mov esi, 2
lea rcx, [rbp + 0x48]
call fcn.140068040
jmp 0x140061d6f
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
mov r8d, 0x1f
lea rdx, str._Main__Update_check_successful_
lea rcx, [rsp + 0x58]
call fcn.14006b230
lea rcx, [rsp + 0x58]
call fcn.14005ed20
xor edx, edx
mov r8d, 0x110
lea rcx, [rbp + 0xd0]
call fcn.1400f9b20
mov r8d, 1
lea rdx, str.update.zip
lea rcx, [rbp + 0xd0]
call fcn.140064160
mov esi, 2
mov r8d, esi
xor edx, edx
lea rcx, [rbp + 0xd0]
call fcn.140064460
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0xd0]
call fcn.140064380
mov rbx, qword [rax + 8]
add rbx, qword [rax]
mov r8b, 0x20
mov rdx, rbx
lea rcx, [rbp + 0x28]
call fcn.140066350
xorps xmm0, xmm0
xor eax, eax
mov qword [rsp + 0x68], rax
movaps xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [rsp + 0x68]
movsd qword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x80]
lea rcx, [rbp + 0xd0]
call fcn.140064660
lea rdx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rdx, qword [rbp + 0x28]
mov r8, rbx
lea rcx, [rbp + 0xd0]
call fcn.140064860
lea rcx, [rbp + 0xe0]
call fcn.140067d20
test rax, rax
jne 0x140061c4b
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
mov eax, 6
cmp qword [rbp + rcx + 0x118], 0
cmovne eax, esi
or eax, dword [rbp + rcx + 0xe0]
and eax, 0x17
mov dword [rbp + rcx + 0xe0], eax
and eax, dword [rbp + rcx + 0xe4]
je 0x140061c4b
test al, 4
je 0x140061c06
lea rbx, str.ios_base::badbit_set
jmp 0x140061c1b
test sil, al
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rbp - 0x80]
call fcn.14005d6b0
mov r8, rax
mov rdx, rbx
lea rcx, [rsp + 0x58]
call fcn.14005e140
lea rdx, [0x140137b40]
lea rcx, [rsp + 0x58]
call fcn.1400c75f0
int3
lea rcx, [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova rcx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x38]
cmp r8, 0xb
jne 0x140061cb2
lea rdx, str.up_to_date.
call fcn.1400fa600
test eax, eax
jne 0x140061cb2
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rdi
lea r8d, [rax + 0x1c]
lea rdx, str._Main__No_updates_available.
lea rcx, [rsp + 0x58]
call fcn.14006b230
lea rcx, [rsp + 0x58]
call fcn.14005ed20
lea rcx, str.update.zip
call fcn.1400d8674
jmp 0x140061cce
mov r9d, 0x40
lea r8, str.New_update_
lea rdx, str.Downloaded_the_latest_update_to_update.zip_in_the_folder._Please_manually_install_the_update__thank_you__3
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
lea rcx, [rbp + 0x28]
call fcn.140068040
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xd0], rax
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xcc], edx
lea rcx, [rbp + 0xe0]
call fcn.140065570
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0xd0], rax
mov rax, qword [rbp + 0xd0]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0xcc], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x180], rax
lea rcx, [rbp + 0x180]
call fcn.1400c4e64
nop
lea rcx, [rbp + 0x48]
call fcn.140068040
jmp 0x140061d6f
mov esi, 2
call qword [sym.imp.glfw3.dll_glfwInit]
lea rcx, [rbp + 0x28]
test eax, eax
jne 0x140061d9c
lea rdx, str._GLFW__Failed_to_initialize_GLFW_
call fcn.140066460
mov rcx, rax
call fcn.14005ed20
mov ecx, 1
call fcn.1400d8178
int3
lea rdx, str._GLFW__GLFW_initialized.
call fcn.140066460
mov rcx, rax
call fcn.14005ed20
lea rcx, [0x1400623f0]
call qword [sym.imp.glfw3.dll_glfwSetErrorCallback]
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
test rax, rax
jne 0x140061dea
lea rdx, str._Main__Error_retrieving_NTDLL_handle
lea rcx, [rbp + 0x28]
call fcn.140066460
mov rcx, rax
call fcn.14005ed20
lea rdx, str.wine_get_version
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140061e31
call rax
mov rdx, rax
lea rcx, [rbp + 0x28]
call fcn.140066460
mov r8, rax
lea rdx, str._Main__Running_on_wine_version
lea rcx, [rbp + 0x48]
call fcn.1400699f0
mov rcx, rax
call fcn.14005ed20
lea rcx, [rbp + 0x28]
call fcn.1400662b0
mov edx, 3
mov ecx, 0x22002
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov edx, esi
mov ecx, 0x22003
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov edx, 0x32001
mov ecx, 0x22008
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov edx, 1
mov ecx, 0x22006
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov edx, 1
mov ecx, 0x20003
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov edx, 1
mov ecx, 0x21010
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov edx, 4
mov ecx, 0x2100d
call qword [sym.imp.glfw3.dll_glfwWindowHint]
mov ecx, 0x3e0
call fcn.1400c3074
mov rdi, rax
mov rcx, rax
call fcn.140063510
lea rdx, str.1.4.9
lea rcx, [rbp + 0x28]
call fcn.140066460
mov r8, rax
lea rdx, [0x14011a4a0]
lea rcx, [rbp + 0x48]
call fcn.1400699f0
mov rbx, rax
lea rdx, str.Sodalite
lea rcx, [rsp + 0x58]
call fcn.140066460
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call fcn.140091300
mov qword [rbp], rax
lea rcx, [rbp + 0x28]
call fcn.1400662b0
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwMakeContextCurrent]
mov rcx, qword [sym.imp.glfw3.dll_glfwGetProcAddress]
call fcn.1400031b0
xor ecx, ecx
call qword [sym.imp.glfw3.dll_glfwMakeContextCurrent]
lea rdx, str._GLAD__GLAD_initialized.
lea rcx, [rbp + 0x28]
call fcn.140066460
mov rcx, rax
call fcn.14005ed20
lea rdx, [0x140062400]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwSetKeyCallback]
lea rdx, [0x1400624f0]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwSetMouseButtonCallback]
lea rdx, [0x140062610]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwSetWindowSizeCallback]
lea rdx, [0x140062700]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwSetScrollCallback]
lea rdx, str._Main__Starting_game...
lea rcx, [rbp + 0x28]
call fcn.140066460
mov rcx, rax
call fcn.14005ed20
mov rcx, qword [rbp]
call fcn.140091440
mov byte [rbp + 0x20], 0
mov ecx, 0x2f0
call fcn.1400c3074
mov rbx, rax
mov rcx, rax
call fcn.140063780
xor edx, edx
mov r8d, 0x2f0
mov rcx, rbx
call fcn.1400f9b20
mov rcx, rbx
call fcn.140063520
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0xa8]
lea r8, [rbp + 0x18]
lea rdx, [rbp]
lea rcx, [rbp + 0x28]
call fcn.1400634f0
mov rdx, rax
lea rcx, [rbp + 0x2f0]
call fcn.140069f20
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwWindowShouldClose]
test eax, eax
jne 0x14006205b
nop dword [rax]
call qword [sym.imp.glfw3.dll_glfwWaitEvents]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwWindowShouldClose]
test eax, eax
je 0x140062040
mov byte [rbp + 0x20], 1
lea rcx, [rbp + 0x1e0]
call fcn.140060a10
mov r8d, esi
lea rdx, str.config2.ini
lea rcx, [rbp + 0x1e0]
call fcn.1400656d0
lea rcx, [rbp + 0x1e0]
call fcn.1400656c0
test al, al
je 0x1400621f8
mov rax, qword [rbp]
mov rdx, qword [rax + 0x3b0]
mov edx, dword [rdx + 0x98]
lea rcx, [rbp + 0x1e0]
call fcn.140065cf0
mov rcx, rax
call fcn.1400660f0
mov rax, qword [rbp]
mov rdx, qword [rax + 0x3b0]
mov edx, dword [rdx + 0x9c]
lea rcx, [rbp + 0x1e0]
call fcn.140065cf0
mov rcx, rax
call fcn.1400660f0
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x14]
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwGetWindowPos]
mov edx, dword [rbp + 0x14]
lea rcx, [rbp + 0x1e0]
call fcn.140065cf0
mov rcx, rax
call fcn.1400660f0
mov edx, dword [rbp + 0x10]
lea rcx, [rbp + 0x1e0]
call fcn.140065cf0
mov rcx, rax
call fcn.1400660f0
movzx edx, byte [0x14013ad92]
lea rcx, [rbp + 0x1e0]
call fcn.140065ef0
movss xmm1, dword [0x14013ad8c]
lea rcx, [rbp + 0x1e0]
call fcn.140065ad0
movzx edx, byte [0x14013fadd]
lea rcx, [rbp + 0x1e0]
call fcn.140065ef0
movss xmm1, dword [0x14013ad84]
lea rcx, [rbp + 0x1e0]
call fcn.140065ad0
movss xmm1, dword [0x14013ad94]
lea rcx, [rbp + 0x1e0]
call fcn.140065ad0
mov rax, qword [rbp + 0x18]
movss xmm1, dword [rax + 0x2e8]
lea rcx, [rbp + 0x1e0]
call fcn.140065ad0
movzx edx, byte [0x14013ad91]
lea rcx, [rbp + 0x1e0]
call fcn.140065ef0
movzx edx, byte [0x14013ad90]
lea rcx, [rbp + 0x1e0]
call fcn.140065ef0
movss xmm1, dword [0x14013ad88]
lea rcx, [rbp + 0x1e0]
call fcn.140065ad0
mov edx, dword [0x14013ad80]
lea rcx, [rbp + 0x1e0]
call fcn.140065cf0
lea rcx, [rbp + 0x1e0]
call fcn.140065620
mov rcx, qword [rbp]
mov rcx, qword [rcx + 0x368]
call qword [sym.imp.glfw3.dll_glfwDestroyWindow]
call qword [sym.imp.glfw3.dll_glfwTerminate]
xor ecx, ecx
call fcn.1400d8178
int3