Function at 0x140028420
Capabilities:
Write file on windows

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r14
sub rsp, 0x3d0
mov rax, qword [0x140036040]
xor rax, rsp
mov qword [rsp + 0x3c0], rax
xor esi, esi
mov r14, r8
cmp dword [rcx + 8], 0xffffffff
mov ebp, edx
mov rdi, rcx
je 0x1400284a6
mov qword [rsp + 0x408], r15
mov r15, qword [rcx]
test r15, r15
je 0x14002849e
mov rbx, qword [r15 + 0x80]
test rbx, rbx
je 0x14002849e
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002847a
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx], rsi
cmp dword [rbx + 0x64], esi
je 0x14002848b
lea rcx, [rbx + 8]
call fcn.140025fa0
mov rcx, rbx
mov dword [rbx + 0x64], esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [r15 + 0x80], rsi
mov r15, qword [rsp + 0x408]
mov rbx, qword [rdi]
mov dword [rdi + 8], 0xffffffff
cmp ebp, dword [rbx + 8]
jl 0x1400284d8
mov eax, 0x10000
mov rcx, qword [rsp + 0x3c0]
xor rcx, rsp
call fcn.140028b80
add rsp, 0x3d0
pop r14
pop rdi
pop rsi
pop rbp
pop rbx
ret
cmp ebp, dword [rbx + 0x14]
jge 0x14002850c
test rbx, rbx
je 0x14002850c
mov eax, dword [rbx + 0x28]
lea r8, [rbx + 0x7c]
lea rdx, [rbx + 0x2c]
mov dword [rbx + 0x18], eax
xor r9d, r9d
mov dword [rbx + 0x14], esi
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140026eb0
mov ecx, esi
test eax, eax
sete cl
mov dword [rbx + 0x1c], ecx
mov rbx, qword [rdi]
cmp dword [rbx + 0x14], ebp
jge 0x140028565
test rbx, rbx
je 0x14002855d
cmp dword [rbx + 0x1c], esi
je 0x14002855d
mov edx, dword [rbx + 0x14]
inc edx
cmp edx, dword [rbx + 8]
je 0x14002855d
mov ecx, dword [rbx + 0x54]
lea r8, [rbx + 0x7c]
add ecx, dword [rbx + 0x50]
xor r9d, r9d
mov eax, dword [rbx + 0x4c]
add eax, 0x2e
mov dword [rbx + 0x14], edx
add ecx, eax
mov dword [rsp + 0x20], esi
add dword [rbx + 0x18], ecx
lea rdx, [rbx + 0x2c]
mov rcx, rbx
call fcn.140026eb0
mov ecx, esi
test eax, eax
sete cl
mov dword [rbx + 0x1c], ecx
mov rbx, qword [rdi]
cmp dword [rbx + 0x14], ebp
jl 0x140028514
lea r8, [rsp + 0x60]
mov edx, ebp
mov rcx, rdi
call fcn.140027b80
test byte [rsp + 0x168], 0x10
movzx eax, byte [r14]
je 0x1400285ae
cmp al, 0x2f
je 0x14002859c
cmp al, 0x5c
je 0x14002859c
test al, al
je 0x140028595
cmp byte [r14 + 1], 0x3a
je 0x14002859c
lea rsi, [rdi + 0x150]
mov rdx, r14
mov rcx, rsi
call fcn.1400282c0
xor eax, eax
jmp 0x1400284ba
mov r9, r14
mov rcx, r14
test al, al
je 0x1400285d3
cmp al, 0x2f
je 0x1400285c5
cmp al, 0x5c
je 0x1400285c5
inc rcx
jmp 0x1400285cc
lea r9, [rcx + 1]
mov rcx, r9
movzx eax, byte [rcx]
test al, al
jne 0x1400285b8
lea rdx, [rsp + 0x1a0]
mov rcx, r14
sub rdx, r14
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x1400285e1
cmp r9, r14
jne 0x1400285fe
mov byte [rsp + 0x1a0], sil
jmp 0x140028636
mov rax, r9
sub rax, r14
cmp rax, 0x104
jae 0x1400287f7
mov byte [rsp + rax + 0x1a0], sil
movzx eax, byte [rsp + 0x1a0]
cmp al, 0x2f
je 0x140028664
cmp al, 0x5c
je 0x140028664
test al, al
je 0x140028636
cmp byte [rsp + 0x1a1], 0x3a
je 0x140028664
mov qword [rsp + 0x20], r9
lea rbx, [rdi + 0x150]
mov r8, rbx
lea r9, [rsp + 0x1a0]
lea rdx, str._s_s_s
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.USER32.dll_wsprintfA]
jmp 0x140028684
lea r8, [rsp + 0x1a0]
lea rdx, str._s_s
lea rcx, [rsp + 0x2b0]
call qword [sym.imp.USER32.dll_wsprintfA]
mov rbx, rsi
lea rdx, [rsp + 0x1a0]
mov rcx, rbx
call fcn.1400282c0
mov eax, dword [rsp + 0x168]
lea rcx, [rsp + 0x2b0]
mov qword [rsp + 0x30], rsi
xor r9d, r9d
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r14, rax
cmp rax, 0xffffffffffffffff
jne 0x1400286d8
mov eax, 0x200
jmp 0x1400284ba
mov rdx, qword [rdi + 0x140]
mov rcx, qword [rdi]
call fcn.1400275c0
cmp qword [rdi + 0x148], rsi
jne 0x140028701
mov ecx, 0x4000
call fcn.140028f44
mov qword [rdi + 0x148], rax
mov ebp, esi
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdi + 0x148]
lea r9, [rsp + 0x50]
mov rcx, qword [rdi]
mov r8d, 0x4000
call fcn.140027810
mov ebx, eax
cmp eax, 0xffffff96
je 0x140028797
test eax, eax
js 0x140028766
jle 0x14002875b
mov rdx, qword [rdi + 0x148]
lea r9, [rsp + 0x190]
mov r8d, eax
mov qword [rsp + 0x20], rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14002876d
cmp byte [rsp + 0x50], sil
jne 0x140028774
test ebx, ebx
jne 0x140028710
mov ebp, 0x5000000
jmp 0x14002879c
mov ebp, 0x400
jmp 0x14002879c
lea r9, [rsp + 0x17c]
mov rcx, r14
lea r8, [rsp + 0x16c]
lea rdx, [rsp + 0x174]
call qword [sym.imp.KERNEL32.dll_SetFileTime]
jmp 0x14002879c
mov ebp, 0x1000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rdi]
test rdi, rdi
je 0x1400287eb
mov rbx, qword [rdi + 0x80]
test rbx, rbx
je 0x1400287eb
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400287c7
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rbx], rsi
cmp dword [rbx + 0x64], esi
je 0x1400287d8
lea rcx, [rbx + 8]
call fcn.140025fa0
mov rcx, rbx
mov dword [rbx + 0x64], esi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rdi + 0x80], rsi
test ebp, ebp
cmovne esi, ebp
mov eax, esi
jmp 0x1400284ba
call fcn.140029080
int3