Function at 0x542b90
Capabilities:
Write file on windows

Disassembly:
push rbp
sub rsp, 0xd0
mov rbp, rsp
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0x78], rbp
mov qword [rbp + 0xe0], rcx
lea rcx, [rbp + 0xe0]
call fcn.00410d40
nop
mov rax, qword [0x00588040]
cmp byte [rax + 0x10c], 0
je 0x542c3e
lea rcx, [rbp + 0x70]
mov edx, 3
lea r8, [0x00542fac]
mov r9, qword [rbp + 0xe0]
lea rax, [0x00542ff4]
mov qword [rsp + 0x20], rax
call fcn.00412570
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x70]
call fcn.00412880
mov rcx, qword [rbp + 0x68]
mov dl, 1
call fcn.00541b60
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0xe0]
lea r8, [0x00542ff4]
call fcn.00412270
mov rcx, qword [rbp + 0x60]
call fcn.004121c0
mov rcx, rax
mov edx, 0xc0000000
xor r8, r8
xor r9, r9
mov dword [rsp + 0x20], 1
mov dword [rsp + 0x28], 0x80
mov qword [rsp + 0x30], 0
call sub.kernel32.dll_CreateFileW
mov qword [rbp + 0xc0], rax
cmp qword [rbp + 0xc0], 0xffffffffffffffff
jne 0x542cc9
mov rax, qword [0x00588040]
cmp byte [rax + 0x10c], 0
je 0x542f02
lea rcx, [0x00543028]
mov dl, 1
call fcn.00541b60
xor ecx, ecx
call fcn.00541da0
jmp 0x542f02
mov rcx, qword [rbp + 0xc0]
xor edx, edx
xor r8, r8
xor r9, r9
call sub.kernel32.dll_SetFilePointerEx
test eax, eax
jne 0x542d0f
mov rax, qword [0x00588040]
cmp byte [rax + 0x10c], 0
je 0x542da2
lea rcx, [0x00543084]
mov dl, 1
call fcn.00541b60
xor ecx, ecx
call fcn.00541da0
jmp 0x542da2
mov rax, qword [0x00588040]
mov rax, qword [rax + 0x70]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0xa8], rax
cmp qword [rbp + 0xa8], 0
je 0x542d4b
mov rax, qword [rbp + 0xa8]
mov rax, qword [rax - 8]
mov qword [rbp + 0xa8], rax
mov rcx, qword [rbp + 0xc0]
mov rax, qword [0x00588040]
mov rdx, qword [rax + 0x70]
mov r8d, dword [rbp + 0xa8]
lea r9, [rbp + 0xbc]
mov qword [rsp + 0x20], 0
call sub.kernel32.dll_WriteFile
test eax, eax
jne 0x542da2
mov rax, qword [0x00588040]
cmp byte [rax + 0x10c], 0
je 0x542da2
lea rcx, [0x005430dc]
mov dl, 1
call fcn.00541b60
xor ecx, ecx
call fcn.00541da0
mov rax, qword [0x00588040]
mov rax, qword [rax + 0x70]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xa0]
mov qword [rbp + 0x98], rax
cmp qword [rbp + 0x98], 0
je 0x542dde
mov rax, qword [rbp + 0x98]
mov rax, qword [rax - 8]
mov qword [rbp + 0x98], rax
mov eax, dword [rbp + 0xbc]
cmp eax, dword [rbp + 0x98]
je 0x542ed7
mov rax, qword [0x00588040]
cmp byte [rax + 0x10c], 0
je 0x542ed7
mov qword [rbp + 0xc8], 0
nop
lea rcx, [rbp + 0x58]
mov edx, dword [rbp + 0xbc]
call fcn.004316b0
lea rcx, [rbp + 0xc8]
mov edx, 3
lea r8, [0x00543124]
mov r9, qword [rbp + 0x58]
lea rax, [0x0054315c]
mov qword [rsp + 0x20], rax
call fcn.00412ca0
mov rax, qword [0x00588040]
mov rax, qword [rax + 0x70]
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0x90]
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
je 0x542e83
mov rax, qword [rbp + 0x88]
mov rax, qword [rax - 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x88]
call fcn.004316b0
lea rcx, [rbp + 0x50]
mov edx, 3
mov r8, qword [rbp + 0xc8]
mov r9, qword [rbp + 0x48]
lea rax, [0x00543178]
mov qword [rsp + 0x20], rax
call fcn.00412ca0
mov rcx, qword [rbp + 0x50]
mov dl, 1
call fcn.00541b60
nop
lea rcx, [rbp + 0xc8]
call fcn.00410b30
xor ecx, ecx
call fcn.00541da0
mov rcx, qword [rbp + 0xc0]
call sub.kernel32.dll_CloseHandle
mov rax, qword [0x00588040]
cmp byte [rax + 0x10c], 0
je 0x542f01
lea rcx, [0x00543194]
mov dl, 1
call fcn.00541b60
nop
lea rcx, [rbp + 0x48]
mov edx, 3
call fcn.00410c10
lea rcx, [rbp + 0x60]
call fcn.00410bd0
lea rcx, [rbp + 0x68]
call fcn.00410b30
lea rcx, [rbp + 0x70]
call fcn.00410bd0
lea rcx, [rbp + 0xe0]
call fcn.00410bd0
lea rsp, [rbp + 0xd0]
pop rbp
ret