Function at 0x140028430
Capabilities:
Write file on windows

Disassembly:
mov word [rsp + 0x18], r8w
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x48
mov r14, qword [rsp + 0xb0]
xor r15d, r15d
movzx edi, r8w
movzx ebx, r15w
movzx r13d, r9w
movzx esi, r15w
sub r13d, edi
mov dword [rsp + 0x30], edi
test r13d, r13d
jle 0x140028733
movzx eax, di
nop dword [rax]
movzx r12d, si
lea ebp, [rdi + rsi]
add rax, r12
mov rdx, r14
imul rcx, rax, 0x58
mov rax, qword [0x140041cc8]
mov dword [rcx + rax + 0x10], 0xffffffff
movzx ecx, bp
call fcn.140028100
cmp dword [r14], 0
jne 0x1400287ff
movzx edi, r15w
cmp r15w, si
je 0x14002856c
movzx eax, si
add eax, dword [rsp + 0x30]
cdqe
imul r15, rax, 0x58
add r15, 0x10
mov rdx, qword [0x140041cc8]
lea rcx, [0x140041cd0]
movzx eax, di
mov r9, r14
lea r8, [r15 + rdx]
add rdx, 0x10
movzx eax, word [rcx + rax*2]
imul rcx, rax, 0x58
lea rax, [rsp + 0xa8]
add rdx, rcx
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x90]
mov word [rsp + 0x20], bp
call fcn.140028200
test eax, eax
je 0x140028556
cmp word [rsp + 0xa8], 0
jle 0x140028560
cmp si, di
jbe 0x140028551
lea rax, [0x140041cd0]
lea rcx, [rax + r12*2]
movzx eax, si
sub ax, di
movzx edx, ax
nop
movzx eax, word [rcx - 2]
mov word [rcx], ax
lea rcx, [rcx - 2]
sub rdx, 1
jne 0x140028540
movzx eax, di
jmp 0x14002856f
cmp dword [r14], 0
jne 0x1400287ff
inc di
cmp di, si
jne 0x1400284d1
movzx eax, bx
movzx edi, word [rsp + 0xa0]
lea rcx, [0x140041cd0]
inc si
mov word [rcx + rax*2], bp
movzx eax, si
inc bx
cmp eax, r13d
mov r15d, 0
mov eax, edi
jl 0x140028480
mov r13d, dword [rsp + 0x98]
test bx, bx
je 0x14002873b
lea ebp, [r15 + 1]
movzx eax, word [0x140041cd0]
imul r15, rax, 0x58
add r15, qword [0x140041cc8]
test r13d, r13d
je 0x1400285f1
mov r8, qword [r15 + 0x20]
mov rdx, qword [r15 + 0x18]
mov rcx, qword [0x140041cb0]
call fcn.140027000
mov dword [r14], eax
test eax, eax
jne 0x1400287ff
mov r12, qword [rsp + 0x90]
jmp 0x14002861a
mov rax, qword [r15 + 0x18]
mov r12, qword [rsp + 0x90]
mov rdx, qword [r15 + 0x20]
mov rcx, r12
mov r9d, dword [rax + 4]
movzx r8d, word [rax]
call qword [0x140042650]
test eax, eax
je 0x140028726
movzx ecx, word [0x140041cd0]
mov rdx, r14
call fcn.140028100
test ax, ax
jne 0x140028657
cmp bp, bx
jae 0x14002864a
lea eax, [rbx - 1]
movzx ecx, ax
lea rdi, [0x140041cd0]
lea rsi, [0x140041cd2]
rep movsw word [rdi], word [rsi]
mov eax, 0xffff
add bx, ax
jmp 0x1400286d9
movzx edi, word [0x140041cd0]
movzx esi, bp
lea rcx, [0x140041cd0]
cmp bp, bx
je 0x1400286d1
nop dword [rax]
mov rdx, qword [0x140041cc8]
lea r8, [r15 + 0x10]
add rdx, 0x10
movzx ebp, si
mov r9, r14
movzx eax, word [rcx + rbp*2]
imul rcx, rax, 0x58
lea rax, [rsp + 0xa8]
add rdx, rcx
mov qword [rsp + 0x28], rax
mov rcx, r12
mov word [rsp + 0x20], di
call fcn.140028200
test eax, eax
je 0x1400286ec
cmp word [rsp + 0xa8], 0
lea rcx, [0x140041cd0]
jg 0x1400286d1
movzx eax, word [rcx + rbp*2]
inc si
mov word [rcx + rbp*2 - 2], ax
cmp si, bx
jne 0x140028670
movzx eax, si
mov word [rcx + rax*2 - 2], di
mov ebp, 1
test bx, bx
jne 0x1400285b1
xor r15d, r15d
jmp 0x14002873b
cmp dword [r14], 0
jne 0x1400287ff
cmp si, bx
jae 0x14002871c
movzx eax, si
lea rcx, [0x140041cd0]
lea rdx, [rcx + rax*2]
movzx eax, bx
sub ax, si
lea rdi, [rdx - 2]
movzx ecx, ax
mov rsi, rdx
rep movsw word [rdi], word [rsi]
mov eax, 0xffff
add bx, ax
jmp 0x1400286d9
mov eax, 4
mov dword [r14], eax
jmp 0x1400287ff
mov r13d, dword [rsp + 0x98]
test r13d, r13d
je 0x1400287ff
cmp dword [r14], 0
jne 0x1400287ff
movzx r8d, word [0x140041ca4]
mov rcx, qword [0x140041cb0]
mov esi, r8d
mov rdi, qword [0x140042768]
test r8d, r8d
jle 0x14002877e
mov rdx, rdi
mov r9d, r8d
not byte [rdx]
lea rdx, [rdx + 1]
sub r9, 1
jne 0x140028772
mov rcx, qword [rcx]
lea r9, [rsp + 0xa0]
mov rdx, rdi
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x1400287c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x58
jae 0x1400287b4
mov eax, eax
lea rcx, [0x140030680]
mov ecx, dword [rcx + rax*4]
jmp 0x1400287b9
mov ecx, operator
mov dword [0x140042de8], ecx
mov byte [0x1400433b0], 0
test rsi, rsi
jle 0x1400287dc
nop dword [rax + rax]
not byte [rdi]
lea rdi, [rdi + 1]
sub rsi, 1
jne 0x1400287d0
movzx eax, word [0x140041ca4]
cmp dword [rsp + 0xa0], eax
je 0x1400287f4
mov r15d, 4
jmp 0x1400287fc
mov word [0x140041ca4], r15w
mov dword [r14], r15d
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret