Function at 0x140053230
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x18
lea rbp, [rsp + 0x10]
mov esi, edx
mov rdi, rcx
mov rax, qword [0x1400e2880]
xor rax, rbp
mov qword [rbp], rax
mov eax, dword [0x1400c7a78]
mov ecx, dword [0x1400c7a7c]
shrd ecx, eax, 4
xor ecx, 0x36c573bf
mov eax, ecx
shl rax, 5
call fcn.140095c50
sub rsp, rax
mov r15, rsp
mov eax, dword [0x1400c7a80]
mov ecx, dword [0x1400c7a84]
shrd ecx, eax, 0x1a
xor ecx, 0x94b5e99e
mov eax, ecx
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.140095c50
sub rsp, rax
mov r12, rsp
mov eax, dword [0x1400c7a88]
mov ecx, dword [0x1400c7a8c]
shrd ecx, eax, 0x14
xor ecx, 0xe8bb2494
mov eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140095c50
sub rsp, rax
mov r13, rsp
mov eax, dword [0x1400c7a90]
mov ecx, dword [0x1400c7a94]
shrd ecx, eax, 0x11
xor ecx, 0x94e776e2
mov eax, ecx
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140095c50
sub rsp, rax
mov rbx, rsp
sub rsp, 0x20
call fcn.140089db0
add rsp, 0x20
cdqe
lea rdx, [0x14009cce0]
mov ecx, 0
cmp esi, dword [rdx + rax*4]
je 0x1400535eb
mov qword [rbp - 0x10], r15
mov rax, qword [rdi + 0x40]
cmp qword [rax], 0
je 0x1400533a0
mov r14, qword [rdi + 0x58]
mov r15d, dword [r14]
sub rsp, 0x20
call fcn.140089e40
add rsp, 0x20
mov eax, dword [0x1400c7a98]
mov ecx, dword [0x1400c7a9c]
shrd ecx, eax, 0x13
xor ecx, 0xd583f58f
cmp r15d, ecx
jle 0x1400533a0
mov ebx, esi
sub rsp, 0x20
call fcn.140089ed0
add rsp, 0x20
cdqe
lea rcx, [0x14009ccec]
add r15d, dword [rcx + rax*4]
mov dword [r14], r15d
mov rax, qword [rdi + 0x40]
mov rcx, qword [rax]
lea rdx, [rcx + 1]
mov qword [rax], rdx
mov byte [rcx], sil
mov ecx, esi
jmp 0x1400535eb
cmp qword [rdi + 0x80], 0
je 0x1400534e4
mov rax, qword [rdi + 0x18]
lea rcx, [rdi + 0x70]
cmp qword [rax], rcx
jne 0x1400533dc
mov ecx, dword [rdi + 0x90]
mov rdx, qword [rdi + 0x88]
mov qword [rax], rdx
mov rax, qword [rdi + 0x38]
mov qword [rax], rdx
mov eax, edx
sub ecx, edx
mov rax, qword [rdi + 0x50]
mov dword [rax], ecx
mov rcx, qword [rdi + 0x68]
test rcx, rcx
je 0x1400534ee
mov r15, r12
mov r12, qword [rbp - 0x10]
mov r14, r15
mov byte [r15], sil
lea rax, [r12 + 0x20]
lea r9, [r15 + 1]
lea rdx, [rdi + 0x74]
mov r10, qword [rcx]
sub rsp, 0x40
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rax
mov qword [rbp - 8], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
mov r8, r15
call qword [r10 + 0x38]
add rsp, 0x40
cmp eax, 3
jge 0x140053587
cmp eax, 1
ja 0x1400534e4
mov r14, qword [rbx]
sub r14, r12
je 0x1400534a5
mov r9, qword [rdi + 0x80]
movabs rax, 0xf21deea0bdbe271
imul rax, qword [0x1400c7aa8]
movabs rcx, 0x1394d9ef0fc3750f
imul rcx, qword [0x1400c7ab0]
add rcx, rax
movabs rdx, 0x3a3e360f5f1a8db6
add rdx, rcx
sub rsp, 0x20
mov rcx, qword [rbp - 8]
mov r8, r14
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add rsp, 0x20
mov ecx, 0xffffffff
cmp r14, rax
jne 0x1400535eb
sub rsp, 0x20
call fcn.14008a0d0
add rsp, 0x20
cdqe
lea rcx, [0x14009cd1c]
movzx eax, byte [rax + rcx]
mov byte [rdi + 0x71], al
mov eax, dword [0x1400c7ab8]
mov ecx, dword [0x1400c7abc]
shrd ecx, eax, 0xe
xor ecx, 0xfe5559e0
cmp qword [r13], r15
cmove esi, ecx
jmp 0x140053399
mov ecx, 0xffffffff
jmp 0x1400535eb
mov rdi, qword [rdi + 0x80]
sub rsp, 0x20
call fcn.140089f40
add rsp, 0x20
cdqe
lea rcx, [0x14009ccf8]
movzx ecx, byte [rcx + rax*4]
mov ebx, esi
shl ebx, cl
sub rsp, 0x20
call fcn.140089fc0
add rsp, 0x20
cdqe
lea rcx, [0x14009cd04]
movzx ecx, byte [rcx + rax*4]
mov eax, ebx
sar eax, cl
sub rsp, 0x20
mov ecx, eax
mov rdx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
add rsp, 0x20
mov edi, eax
sub rsp, 0x20
call fcn.14008a040
add rsp, 0x20
cdqe
lea rcx, [0x14009cd10]
imul edx, dword [0x1400c7aa0], 0xef65c031
imul r8d, dword [0x1400c7aa4], 0xdb83c48f
cmp edi, dword [rcx + rax*4]
mov eax, r8d
mov ecx, edx
lea eax, [rcx + rax - 0x5268ed94]
cmovne eax, esi
mov ecx, eax
jmp 0x1400535eb
mov ecx, 0xffffffff
jne 0x1400535eb
mov rdx, qword [rdi + 0x80]
movsx ecx, byte [r14]
sub rsp, 0x20
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fputc]
add rsp, 0x20
mov edi, eax
sub rsp, 0x20
call fcn.14008a150
add rsp, 0x20
cdqe
lea rcx, [0x14009cd20]
imul edx, dword [0x1400c7ac0], 0x4f025300
imul r8d, dword [0x1400c7ac4], 0x4654e65d
cmp edi, dword [rcx + rax*4]
mov eax, r8d
mov ecx, edx
lea eax, [rcx + rax - 0x6bd4a35d]
cmove esi, eax
jmp 0x140053399
mov esi, ecx
mov rcx, qword [rbp]
xor rcx, rbp
sub rsp, 0x20
call fcn.140095cb0
add rsp, 0x20
mov eax, esi
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret