Function at 0x4b5c30
Capabilities:
Check mutex on windows
Delete file
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x618
call fcn.00410400
lea rbx, [rsp + 0x5bf]
xor ecx, ecx
lea r8, str.blitznet
mov edx, 1
and rbx, 0xffffffffffffffe0
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov qword [0x004e70e0], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x4b6741
lea rcx, [0x004e70e8]
xor r8d, r8d
lea rdx, [0x004e70f0]
call sub.gdiplus.dll_GdiplusStartup
lea r14, [rsp + 0x190]
lea r15, [rsp + 0x130]
call fcn.00404e15
lea rax, [rsp + 0x140]
mov rcx, r14
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x130], rax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0x180]
mov byte [rsp + 0x140], 0
mov qword [rsp + 0x158], 0
mov byte [rsp + 0x160], 0
mov qword [rsp + 0x170], rax
mov qword [rsp + 0x178], 0
mov byte [rsp + 0x180], 0
call fcn.004053dd
mov ecx, 0x18
mov qword [rsp + 0xe0], 0
call fcn.004b4fc0
lea rsi, fcn.004a0500
mov qword [rax + 8], r14
xor r8d, r8d
lea r12, [rsp + 0x3c0]
mov qword [rax], rsi
lea rsi, [0x00404f72]
mov rdx, r12
lea rcx, [rsp + 0xe0]
mov qword [rax + 0x10], rsi
mov qword [rsp + 0x3c0], rax
call fcn.004a0700
mov rcx, r12
call fcn.0040162e
mov ecx, 0x10
mov qword [rsp + 0xe8], 0
call fcn.004b4fc0
lea rsi, fcn.004a0550
lea rcx, [rsp + 0xe8]
xor r8d, r8d
mov rdx, r12
mov qword [rax], rsi
lea rsi, [0x00401590]
mov qword [rax + 8], rsi
mov qword [rsp + 0x3c0], rax
call fcn.004a0700
movabs rsi, 0xcf5fcd5a82a6eec3
mov rcx, r12
call fcn.0040162e
movabs rax, 0xa230ae05f6c389ec
mov qword [rsp + 0xc8], rax
movabs rax, 0x43c85e38cc1c24d5
mov qword [rsp + 0xd0], rax
mov rax, rsi
mov qword [rsp + 0xd8], rax
jmp 0x4b5e4c
mov r9d, edi
mov r8, r15
lea rcx, [0x004e70c0]
mov rdx, r12
call fcn.0040410b
mov edi, eax
mov rcx, r12
call fcn.004a18b0
cmp edi, 0xe8
je 0x4b5ec1
mov rax, qword [rsp + 0xc8]
mov r8, r14
mov rcx, r12
mov edi, dword [0x004b8010]
lea r13, [rsp + 0x1f0]
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0xd0]
mov rdx, r13
mov qword [rsp + 0x1f8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x20], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x28], rax
vmovdqu xmm1, xmmword [rsp + 0x20]
vpxor xmm0, xmm1, xmmword [rsp + 0x1f0]
vmovups xmmword [rsp + 0x1f0], xmm0
call fcn.004b2990
jmp 0x4b5e25
cmp qword [rsp + 0x138], 0
je 0x4b5e4c
lea rdx, str.INVALID_UUID
mov rcx, r15
call fcn.0042f480
test eax, eax
jne 0x4b5ef4
mov rcx, r12
call fcn.00404d4a
mov rcx, qword [rsp + 0x3c0]
call fcn.00401c74
lea rax, [rsp + 0x118]
mov rdx, r15
mov rcx, rax
mov qword [rsp + 0xc0], rax
call fcn.0040213d
mov rcx, qword [rsp + 0x118]
mov rbp, rsi
mov rdx, r12
movabs rax, 0xcf5fcd5a82a68aa0
movabs rdi, 0x43c85e17a87245b8
mov qword [rsp + 0x3c0], rax
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x3c8], rdi
mov qword [rsp + 0x68], rdi
vmovdqu xmm2, xmmword [rsp + 0x60]
vpxor xmm0, xmm2, xmmword [rsp + 0x3c0]
vmovups xmmword [rsp + 0x3c0], xmm0
call fcn.0042f480
mov rcx, qword [rsp + 0x118]
test eax, eax
jne 0x4b606f
mov rcx, qword [rcx + 0x20]
call sub.msvcrt.dll__chdir
test eax, eax
jne 0x4b5fed
movabs rax, 0xa13ea519a2fbc598
mov rcx, rsi
movabs rdx, 0x9b6b748c7937945
mov qword [rbx + 0x40], rax
movabs rax, 0x49ba3773881620df
mov qword [rbx + 0x50], rdx
mov qword [rbx + 0x10], rdx
lea rdx, [rbx + 0x40]
mov qword [rbx + 0x48], rax
movabs rax, 0xde2d44c59b6e525a
mov qword [rbx], rcx
movabs rcx, 0x43c85e17a87245b8
mov qword [rbx + 0x58], rax
vmovdqu ymm3, ymmword [rbx + 0x40]
mov qword [rbx + 8], rcx
mov qword [rbx + 0x18], rax
vpxor ymm0, ymm3, ymmword [rbx]
vmovdqu ymmword [rbx + 0x40], ymm0
jmp 0x4b605d
movabs rax, 0xa336ac1ca2fbc398
mov rdx, rsi
mov qword [rbx + 0x20], rax
movabs rax, 0x27ab7e78dc5221dd
mov qword [rbx], rdx
movabs rdx, 0x43c85e17a87245b8
mov qword [rbx + 0x28], rax
movabs rax, 0x9b6b748c793794f
mov qword [rbx + 8], rdx
movabs rdx, 0x9b6b748c7937945
mov qword [rbx + 0x30], rax
movabs rax, 0xde2d44c59b6e525a
mov qword [rbx + 0x10], rdx
lea rdx, [rbx + 0x20]
mov qword [rbx + 0x38], rax
vmovdqu ymm4, ymmword [rbx + 0x20]
mov qword [rbx + 0x18], rax
vpxor ymm0, ymm4, ymmword [rbx]
vmovdqu ymmword [rbx + 0x20], ymm0
lea rcx, [rsp + 0x150]
call fcn.004a4000
jmp 0x4b645d
mov qword [rsp + 0x70], rbp
mov rdx, r12
movabs rax, 0xa72ca33fe7d48db0
mov qword [rsp + 0x78], rdi
vmovdqu xmm5, xmmword [rsp + 0x70]
mov qword [rsp + 0x3c0], rax
movabs rax, 0x43c85e17a87231d7
mov qword [rsp + 0x3c8], rax
vpxor xmm0, xmm5, xmmword [rsp + 0x3c0]
vmovups xmmword [rsp + 0x3c0], xmm0
call fcn.0042f480
test eax, eax
jne 0x4b623b
mov edx, 0x20
mov rcx, r12
call fcn.00404ba3
lea rbp, [rsp + 0x1d0]
lea rdx, [0x004ba144]
mov rcx, rbp
call fcn.00403210
movabs rax, 0xcf5fcd5ad2ebab97
mov rdx, rsi
lea rcx, [rsp + 0x100]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x100], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x88], rax
vmovdqu xmm1, xmmword [rsp + 0x80]
vpxor xmm0, xmm1, xmmword [rsp + 0x100]
vmovups xmmword [rsp + 0x100], xmm0
call sub.msvcrt.dll_getenv
mov r8, rbp
mov rcx, r13
mov rdx, rax
call fcn.004b2960
lea rdi, [rsp + 0x1b0]
mov r8, r12
mov rdx, r13
mov rcx, rdi
call fcn.004b28e0
mov rcx, r13
call fcn.004a18b0
mov rcx, rbp
call fcn.004a18b0
mov rcx, r12
call fcn.004a18b0
mov rcx, rdi
call fcn.0040182a
movabs rax, 0xac2c923eecc39dec
mov rdx, rsi
mov r8, r14
mov rcx, r12
mov qword [rbx + 0x20], rax
movabs rax, 0x37a73664c61720ca
mov qword [rbx], rdx
movabs rdx, 0x43c85e17a87245b8
mov qword [rbx + 0x28], rax
movabs rax, 0x9b6b748c793796a
mov qword [rbx + 8], rdx
movabs rdx, 0x9b6b748c7937945
mov qword [rbx + 0x30], rax
movabs rax, 0xde2d44c59b6e525a
mov qword [rbx + 0x10], rdx
lea rdx, [rbx + 0x20]
mov qword [rbx + 0x38], rax
vmovdqu ymm2, ymmword [rbx + 0x20]
mov qword [rbx + 0x18], rax
vpxor ymm0, ymm2, ymmword [rbx]
vmovdqu ymmword [rbx + 0x20], ymm0
call fcn.004b2990
lea r9, [rsp + 0x170]
mov r8, rdi
mov rdx, r12
lea rcx, [0x004e70c0]
call fcn.0040371e
mov rcx, r12
call fcn.004a18b0
mov rcx, qword [rsp + 0x1b0]
call sub.msvcrt.dll_remove
jmp 0x4b660e
mov qword [rsp + 0x3c8], rdi
mov rdx, r12
movabs rax, 0xcf5fcd5af1c98aa7
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0x3c0], rax
mov qword [rsp + 0x98], rdi
vmovdqu xmm3, xmmword [rsp + 0x90]
vpxor xmm0, xmm3, xmmword [rsp + 0x3c0]
vmovups xmmword [rsp + 0x3c0], xmm0
call fcn.0042f480
test eax, eax
jne 0x4b62e3
mov rdx, r15
mov rcx, r12
call fcn.004a3a60
mov rdx, r12
mov rcx, r13
call fcn.00402245
mov rcx, r12
call fcn.004a18b0
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rax + 0x40]
call sub.msvcrt.dll_atoi
mov edx, eax
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rax + 0x20]
call fcn.00401d15
mov rcx, r13
call fcn.004016cc
jmp 0x4b6616
mov qword [rsp + 0x3c8], rdi
mov rdx, r12
movabs rax, 0xcf2fa02fe6df8ba8
mov rcx, qword [rsp + 0x118]
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0x3c0], rax
mov qword [rsp + 0xa8], rdi
vmovdqu xmm4, xmmword [rsp + 0xa0]
vpxor xmm0, xmm4, xmmword [rsp + 0x3c0]
vmovups xmmword [rsp + 0x3c0], xmm0
call fcn.0042f480
test eax, eax
jne 0x4b643a
mov r8d, 0x18
lea rdx, [0x004e7060]
mov rcx, r12
call fcn.00488a70
cmp dword [rsp + 0x4b8], 0
je 0x4b6384
mov r8d, 0x10
lea rdx, [0x004e7060]
mov rcx, r13
call fcn.004937e0
mov rcx, r13
call fcn.004933b0
mov rcx, r13
call fcn.00493f10
mov rcx, r12
call fcn.004885a0
movabs rax, 0xaa34923eecc39dec
lea rdx, [rsp + 0x1d0]
mov r8, r14
mov rcx, r13
mov qword [rsp + 0x1d0], rax
movabs rax, 0x43c85e17a85d36c1
mov qword [rsp + 0x1d8], rax
mov rax, rsi
mov qword [rsp + 0xb0], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0xb8], rax
vmovdqu xmm5, xmmword [rsp + 0xb0]
vpxor xmm0, xmm5, xmmword [rsp + 0x1d0]
vmovups xmmword [rsp + 0x1d0], xmm0
call fcn.004b2990
lea r9, [rsp + 0x170]
lea r8, [0x004e7060]
mov rdx, r13
lea rcx, [0x004e70c0]
call fcn.0040371e
mov rcx, r13
call fcn.004a18b0
mov rcx, qword [0x004e7060]
call sub.msvcrt.dll_remove
mov rcx, r12
call fcn.004894a0
jmp 0x4b6616
mov rdx, r15
mov rcx, r12
call fcn.00404817
lea rcx, [rsp + 0x150]
mov rdx, r12
call fcn.004a3f40
mov rcx, r12
call fcn.004a18b0
movabs rax, 0xcf5fb92ff2d29bac
mov rdx, rsi
lea rcx, [rsp + 0x150]
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x100], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x58], rax
vmovdqu xmm1, xmmword [rsp + 0x50]
vpxor xmm0, xmm1, xmmword [rsp + 0x100]
vmovups xmmword [rsp + 0x100], xmm0
call fcn.00401a84
lea rdx, [rsp + 0x100]
lea r8, [rsp + 0xf0]
mov rcx, r12
mov qword [rsp + 0xf0], rax
call fcn.00404b64
movabs rax, 0xcf5fcd5a82c299a0
mov rdx, rsi
xor ecx, ecx
mov qword [rsp + 0x1b0], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x40], rdx
xor edx, edx
mov qword [rsp + 0x1b8], rax
mov qword [rsp + 0x48], rax
vmovdqu xmm2, xmmword [rsp + 0x40]
vpxor xmm0, xmm2, xmmword [rsp + 0x1b0]
vmovups xmmword [rsp + 0x1b0], xmm0
call sub.msvcrt.dll__getcwd
lea rbp, [rsp + 0x400]
lea rdx, [rsp + 0x1b0]
mov qword [rsp + 0xf8], rax
lea r8, [rsp + 0xf8]
mov rcx, rbp
call fcn.00404b64
lea r8, [rsp + 0x440]
mov rdx, r12
mov rcx, r13
call fcn.004050f8
lea rdi, [rsp + 0x1d0]
mov rdx, r13
mov rcx, rdi
call fcn.00401f8c
mov rcx, r13
call fcn.00401700
mov rcx, rbp
call fcn.0040160e
mov rcx, r12
call fcn.0040160e
mov r8, r14
mov rdx, r13
mov rcx, r12
movabs rax, 0xbb2aa205f6c39dec
mov qword [rsp + 0x1f0], rax
movabs rax, 0x43c85e17870630c8
mov qword [rsp + 0x1f8], rax
mov rax, rsi
mov qword [rsp + 0x30], rax
movabs rax, 0x43c85e17a87245b8
mov qword [rsp + 0x38], rax
vmovdqu xmm3, xmmword [rsp + 0x30]
vpxor xmm0, xmm3, xmmword [rsp + 0x1f0]
vmovups xmmword [rsp + 0x1f0], xmm0
call fcn.004b2990
lea r9, [rsp + 0x170]
mov r8, rdi
mov rdx, r12
lea rcx, [0x004e70c0]
call fcn.00404455
mov rcx, r12
call fcn.004a18b0
mov rcx, rdi
call fcn.004a18b0
mov rcx, qword [rsp + 0xc0]
call fcn.004016cc
jmp 0x4b5e4c
mov eax, 1
add rsp, 0x618
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret