Function at 0x140004430
Capabilities:
Check mutex on windows
Read .ini file

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x248]
sub rsp, 0x340
mov qword [rsp + 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
mov rax, qword [0x14003e010]
xor rax, rsp
mov qword [rbp + 0x210], rax
xor r14d, r14d
mov dword [rsp + 0x30], r14d
mov eax, dword [0x14004049c]
test al, 1
jne 0x14000458c
or eax, 1
mov dword [0x14004049c], eax
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
lea r8d, [r14 + 0x19]
lea rdx, str.RCImage_Update_Config_Ini
lea rcx, [rsp + 0x40]
call fcn.140004e30
nop
mov qword [0x1400404a0], r14
mov word [0x1400404a8], r14w
cmp qword [rsp + 0x50], r14
je 0x1400044f0
lea r8, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae r8, qword [rsp + 0x40]
jmp 0x1400044f3
mov r8, r14
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov qword [0x1400404a0], rax
test rax, rax
je 0x140004529
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, byte [0x1400404a9]
mov edx, 1
cmp eax, 0xb7
cmove ecx, edx
mov byte [0x1400404a9], cl
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14000456b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004566
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a68
call fcn.14001881c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
lea rcx, [0x14002ad20]
call fcn.1400187c8
nop
cmp qword [0x1400404a0], 0
je 0x1400045a3
cmp byte [0x1400404a9], 0
jne 0x140004a26
lea rdx, [rbp - 0x20]
call fcn.1400037e0
nop
lea r8, str.temp.ini
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.140005000
nop
mov rdx, qword [rbp - 8]
cmp rdx, 8
jb 0x140004602
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400045fd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a6e
call fcn.14001881c
movdqa xmm0, xmmword [0x140035a60]
movdqu xmmword [rbp - 0x10], xmm0
mov word [rbp - 0x20], r14w
lea rcx, [rsp + 0x60]
call fcn.14000a250
test al, al
je 0x1400049d4
xor edx, edx
mov r8d, 0x20a
lea rcx, [rbp]
call fcn.140019920
lea rax, [rsp + 0x60]
cmp qword [rsp + 0x78], 8
cmovae rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp]
lea r8, [0x1400347a8]
lea rdx, str.Version
lea rcx, str.Upgrade
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rsp + 0x60]
call fcn.140012fc0
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x50], r14
mov edx, 7
mov qword [rsp + 0x58], rdx
mov word [rsp + 0x40], r14w
cmp word [rbp], 0
je 0x140004983
lea rdx, [rbp - 0x80]
call fcn.140003680
mov rbx, rax
lea rax, [rbp]
mov rdx, 0xffffffffffffffff
nop
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1400046c0
mov rcx, qword [rbx + 0x10]
mov r8, qword [rbx + 0x18]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x140004709
lea rsi, [rcx + rdx]
mov qword [rbx + 0x10], rsi
mov rdi, rbx
cmp r8, 8
jb 0x1400046f1
mov rdi, qword [rbx]
lea r8, [rdx + rdx]
lea rcx, [rdi + rcx*2]
lea rdx, [rbp]
call fcn.14001b860
mov word [rdi + rsi*2], r14w
jmp 0x14000471d
mov qword [rsp + 0x20], rdx
lea r9, [rbp]
mov rcx, rbx
call fcn.1400051f0
mov rbx, rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x30], xmm0
movups xmm7, xmmword [rbx]
movups xmmword [rbp - 0x40], xmm7
movups xmm6, xmmword [rbx + 0x10]
movdqu xmmword [rbp - 0x30], xmm6
mov qword [rbx + 0x10], r14
mov qword [rbx + 0x18], 7
mov word [rbx], r14w
mov ebx, 2
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x40]
call fcn.140004dc0
movups xmmword [rsp + 0x40], xmm7
movups xmmword [rsp + 0x50], xmm6
movdqa xmm0, xmmword [0x140035a60]
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x40], r14w
and ebx, 0xfffffffd
mov dword [rsp + 0x30], ebx
movdqu xmmword [rbp - 0x30], xmm0
mov word [rbp - 0x40], r14w
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x1400047c5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400047c0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a74
call fcn.14001881c
movdqa xmm0, xmmword [0x140035a60]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r14w
cmp qword [rsp + 0x50], 0
je 0x14000497e
lea rcx, [rsp + 0x40]
call fcn.14000a390
test al, al
je 0x14000497e
lea rdx, [rbp - 0x80]
call fcn.1400037e0
nop
lea r8, str.config.ini
mov rdx, rax
lea rcx, [rbp - 0x60]
call fcn.140005000
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140004853
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000484e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a7a
call fcn.14001881c
movdqa xmm0, xmmword [0x140035a60]
movdqu xmmword [rbp - 0x70], xmm0
mov word [rbp - 0x80], r14w
lea r9, [rbp - 0x60]
cmp qword [rbp - 0x48], 8
cmovae r9, qword [rbp - 0x60]
lea r8, [rbp]
lea rdx, str.Version
lea rcx, str.Upgrade
call qword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
nop
mov rdx, qword [rbp - 0x48]
cmp rdx, 8
jb 0x1400048cc
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400048c7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a80
call fcn.14001881c
movdqa xmm0, xmmword [0x140035a60]
movdqu xmmword [rbp - 0x50], xmm0
mov word [rbp - 0x60], r14w
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x140004920
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000491b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a86
call fcn.14001881c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140004a12
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004a0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a62
jmp 0x140004a0d
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400049c0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400049bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a8c
call fcn.14001881c
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], r14w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140004a12
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140004a0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140004a5c
call fcn.14001881c
movdqa xmm0, xmmword [0x140035a60]
mov word [rsp + 0x60], r14w
movdqu xmmword [rsp + 0x70], xmm0
mov rcx, qword [rbp + 0x210]
xor rcx, rsp
call fcn.140018000
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop rbp
ret
call fcn.14001bf2c
int3
call fcn.14001bf2c
nop
call fcn.14001bf2c
nop
call fcn.14001bf2c
nop
call fcn.14001bf2c
nop
call fcn.14001bf2c
nop
call fcn.14001bf2c
nop
call fcn.14001bf2c
int3
call fcn.14001bf2c
int3