Function at 0x4059d4
Capabilities:
Contain obfuscated stackstrings
Read file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov r11, rsp
sub rsp, 0xa8
mov rax, qword [0x0040f278]
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x68], 0xa
mov byte [rsp + 0x69], 0x3c
mov byte [rsp + 0x6a], 0x21
mov byte [rsp + 0x6b], 0x2d
mov byte [rsp + 0x6c], 0x20
mov byte [rsp + 0x6d], 0x2d
mov byte [rsp + 0x6e], 0x2d
mov byte [rsp + 0x6f], 0x2d
mov byte [rsp + 0x70], 0x2d
mov byte [rsp + 0x71], 0x2d
mov byte [rsp + 0x72], 0x2d
mov byte [rsp + 0x73], 0x53
mov byte [rsp + 0x74], 0x44
mov byte [rsp + 0x75], 0x53
mov byte [rsp + 0x76], 0x47
mov byte [rsp + 0x77], 0x44
mov byte [rsp + 0x78], 0x47
mov byte [rsp + 0x79], 0x53
mov byte [rsp + 0x7a], 0x44
mov byte [rsp + 0x7b], 0x48
mov byte [rsp + 0x7c], 0x52
mov byte [rsp + 0x7d], 0x45
mov byte [rsp + 0x7e], 0x45
mov byte [rsp + 0x7f], 0x54
xor r15d, r15d
mov qword [rsp + 0x30], r8
mov rbp, rcx
mov byte [r11 - 0x28], 0x45
mov byte [r11 - 0x27], 0x54
mov byte [r11 - 0x26], 0x42
mov byte [r11 - 0x13], r15b
mov byte [r11 - 0x25], 0x43
mov byte [r11 - 0x24], 0x4e
mov byte [r11 - 0x23], 0x4d
mov byte [r11 - 0x22], 0x4a
mov byte [r11 - 0x21], 0x55
mov byte [r11 - 0x20], 0x4b
mov byte [r11 - 0x1f], 0x52
mov byte [r11 - 0x1e], 0x2d
mov byte [r11 - 0x1d], 0x2d
mov byte [r11 - 0x1c], 0x2d
mov byte [r11 - 0x1b], 0x2d
mov byte [r11 - 0x1a], 0x2d
mov byte [r11 - 0x19], 0x2d
mov byte [r11 - 0x18], 0x2d
mov byte [r11 - 0x17], 0x2d
mov byte [r11 - 0x16], 0x2d
mov byte [r11 - 0x15], 0x2d
mov byte [r11 - 0x14], 0xa
mov byte [rsp + 0x38], 0xa
mov byte [rsp + 0x39], 0x2d
mov byte [rsp + 0x3a], 0x2d
mov byte [rsp + 0x3b], 0x2d
mov byte [rsp + 0x3c], 0x2d
mov byte [rsp + 0x3d], 0x2d
mov byte [rsp + 0x3e], 0x2d
mov byte [rsp + 0x3f], 0x2d
mov byte [rsp + 0x40], 0x53
mov byte [rsp + 0x41], 0x44
mov byte [rsp + 0x42], 0x53
mov byte [rsp + 0x43], 0x47
mov byte [rsp + 0x44], 0x44
mov byte [rsp + 0x45], 0x47
mov byte [rsp + 0x46], 0x53
mov byte [rsp + 0x47], 0x44
mov byte [rsp + 0x48], 0x48
mov byte [rsp + 0x49], 0x52
mov byte [rsp + 0x4a], 0x45
mov byte [rsp + 0x4b], 0x45
mov byte [rsp + 0x4c], 0x54
mov byte [rsp + 0x4d], 0x45
mov byte [rsp + 0x4e], 0x54
mov byte [rsp + 0x4f], 0x42
mov byte [rsp + 0x50], 0x43
mov byte [rsp + 0x51], 0x4e
mov byte [rsp + 0x52], 0x4d
mov byte [rsp + 0x53], 0x4a
mov byte [rsp + 0x54], 0x55
mov byte [rsp + 0x55], 0x4b
mov byte [rsp + 0x56], 0x52
mov byte [rsp + 0x57], 0x2d
mov byte [rsp + 0x58], 0x2d
mov byte [rsp + 0x59], 0x2d
mov byte [rsp + 0x5a], 0x2d
mov byte [rsp + 0x5b], 0x2d
mov byte [rsp + 0x5c], 0x2d
mov byte [rsp + 0x5d], 0x2d
mov byte [rsp + 0x5e], 0x2d
mov byte [rsp + 0x5f], 0x20
mov byte [rsp + 0x60], 0x2d
mov byte [rsp + 0x61], 0x2d
mov byte [rsp + 0x62], 0x3e
mov byte [rsp + 0x63], 0xa
lea rdx, [r11 - 0x40]
lea rcx, [rsp + 0x20]
mov byte [r11 - 0x44], r15b
call fcn.004026e4
mov r11, qword [rsp + 0x20]
lea rdx, [rsp + 0x38]
mov edi, dword [r11 - 8]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x2c], edi
call fcn.004027b0
mov rbx, qword [rsp + 0x20]
mov esi, dword [rbx - 8]
mov rcx, qword [rbp]
lea rdx, [0x0040c918]
mov dword [rsp + 0x28], esi
call sub.msvcrt.dll__wfopen
test rax, rax
mov r13, rax
je 0x405c7d
lea r8d, [r15 + 2]
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_fseek
mov rcx, r13
call sub.msvcrt.dll_ftell
mov rcx, r13
movsxd r14, eax
call sub.msvcrt.dll_rewind
lea r11d, [r14 + rsi]
add r11d, edi
movsxd rcx, r11d
call sub.msvcrt.dll_malloc
lea edx, [r15 + 1]
mov r9, r13
mov rcx, rax
mov r8, r14
mov r12, rax
call sub.msvcrt.dll_fread
mov rcx, r13
mov rdi, rax
call sub.msvcrt.dll_fclose
cmp rdi, r14
je 0x405cd1
mov rcx, r13
call sub.msvcrt.dll_fclose
mov rcx, r12
call sub.msvcrt.dll_free
lea rcx, [rbx - 0xc]
mov edi, 0xffffffff
cmp rcx, qword [0x0040f008]
je 0x405ca0
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x405ca0
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x0040f008]
je 0x405cca
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x405cca
mov rcx, qword [rbp]
sub rcx, 0xc
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
xor eax, eax
jmp 0x405d90
mov r13d, dword [rsp + 0x2c]
lea r8, [rsp + 0x68]
mov edx, r14d
mov r9d, r13d
mov rcx, r12
call fcn.00403938
mov r9d, dword [rsp + 0x28]
lea r8, [rsp + 0x38]
mov edx, r14d
mov rcx, r12
mov esi, eax
call fcn.00403938
mov edi, 0xffffffff
cmp esi, edi
je 0x405d3d
cmp eax, edi
je 0x405d3d
add esi, r13d
mov r13, qword [rsp + 0x30]
sub eax, esi
mov dword [r13], eax
lea eax, [rax + rax*2]
add eax, eax
movsxd rcx, eax
call sub.msvcrt.dll_malloc
movsxd r8, dword [r13]
movsxd rdx, esi
mov rcx, rax
add rdx, r12
mov r15, rax
call sub.msvcrt.dll_memcpy
mov rcx, r12
call sub.msvcrt.dll_free
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x0040f008]
je 0x405d63
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x405d63
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, qword [rbp]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x0040f008]
je 0x405d8d
mov eax, edi
lock xadd dword [rcx], eax
add eax, edi
test eax, eax
jg 0x405d8d
mov rcx, qword [rbp]
sub rcx, 0xc
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rax, r15
mov rcx, qword [rsp + 0x98]
call fcn.0040b190
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret