Function at 0x140023360
Capabilities:
Write file on windows

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rbp, [rsp + 0x30]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rsi, qword [0x140597530]
mov rax, qword [rsi + 0x58]
test rax, rax
je 0x1400233c4
cmp byte [rsi + 1], 0
je 0x1400233c4
mov byte [rax + 0x18], 0
mov rdi, qword [rsi + 0x58]
test rdi, rdi
je 0x1400233c4
mov rcx, rdi
call fcn.140043ba0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400233b4
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
mov rcx, rdi
call qword [0x1401ab6b0]
mov qword [rsi + 0x58], 0
mov rcx, qword [rsi + 0x3c40]
test rcx, rcx
je 0x14002340d
mov qword [rsi + 0x3c38], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400233f5
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x3c40], 0
cmp byte [rsi], 0
je 0x140023e1b
cmp byte [rsi + 0x5b71], 0
je 0x140023482
mov rbx, qword [rsi + 0x20]
test rbx, rbx
je 0x140023482
mov rax, qword [0x140597530]
mov dword [rax + 0x5b74], 0
mov qword [rbp - 0x10], 0
lea rcx, [rbp - 0x10]
call fcn.14003b700
mov rdi, rax
lea rdx, [0x140178641]
mov rcx, rbx
call fcn.14001f410
test rax, rax
je 0x140023482
mov rbx, rax
mov r8, qword [rbp - 0x10]
mov edx, 1
mov rcx, rdi
mov r9, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov eax, dword [rsi + 0x5bb8]
test eax, eax
jle 0x1400234d2
xor edi, edi
xor ebx, ebx
jmp 0x1400234af
inc rbx
movsxd rcx, eax
add rdi, 0x20
cmp rbx, rcx
jge 0x1400234d2
mov r8, qword [rsi + 0x5bc0]
cmp dword [r8 + rdi + 4], 6
jne 0x1400234a0
lea rdx, [r8 + rdi]
mov rcx, rsi
call qword [r8 + rdi + reloc.WS2_32.dll_recv]
mov eax, dword [rsi + 0x5bb8]
jmp 0x1400234a0
mov eax, dword [rsi + 0x3e40]
test eax, eax
jle 0x14002352d
xor ebx, ebx
jmp 0x140023501
mov rdx, qword [0x140597540]
mov rcx, rdi
call qword [0x1401ab6b0]
mov eax, dword [rsi + 0x3e40]
inc rbx
movsxd rcx, eax
cmp rbx, rcx
jge 0x14002352d
mov rcx, qword [rsi + 0x3e48]
mov rdi, qword [rcx + rbx*8]
test rdi, rdi
je 0x1400234f6
mov rcx, rdi
call fcn.140025010
mov rax, qword [0x140597530]
test rax, rax
je 0x1400234e0
dec dword [rax + 0xf4]
jmp 0x1400234e0
mov rcx, qword [rsi + 0x3e48]
test rcx, rcx
je 0x14002356e
mov qword [rsi + 0x3e40], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023556
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x3e48], 0
mov rcx, qword [rsi + 0x3e58]
test rcx, rcx
je 0x1400235af
mov qword [rsi + 0x3e50], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023597
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x3e58], 0
mov rcx, qword [rsi + 0x3e68]
test rcx, rcx
je 0x1400235f0
mov qword [rsi + 0x3e60], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400235d8
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x3e68], 0
mov qword [rsi + 0x3ea0], 0
mov rcx, qword [rsi + 0x3e78]
test rcx, rcx
je 0x14002363c
mov qword [rsi + 0x3e70], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023624
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x3e78], 0
mov rcx, qword [rsi + 0x3e88]
test rcx, rcx
je 0x14002367d
mov qword [rsi + 0x3e80], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023665
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x3e88], 0
mov qword [rsi + 0x4880], 0
mov qword [rsi + 0x3f38], 0
mov qword [rsi + 0x3f20], 0
lea rcx, [rsi + 0x45d8]
xorps xmm0, xmm0
movups xmmword [rsi + 0x3ea8], xmm0
mov qword [rsi + 0x3eb8], 0
mov r8d, 0x118
mov dl, 0xff
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [rsi + 0x46f8]
test rcx, rcx
je 0x140023708
mov qword [rsi + 0x46f0], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400236f0
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x46f8], 0
mov rcx, qword [rsi + 0x4708]
test rcx, rcx
je 0x140023749
mov qword [rsi + 0x4700], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023731
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4708], 0
mov rcx, qword [rsi + 0x47f0]
test rcx, rcx
je 0x14002378a
mov qword [rsi + 0x47e8], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023772
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x47f0], 0
mov rcx, qword [rsi + 0x4800]
test rcx, rcx
je 0x1400237cb
mov qword [rsi + 0x47f8], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400237b3
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4800], 0
mov rcx, qword [rsi + 0x4810]
test rcx, rcx
je 0x14002380c
mov qword [rsi + 0x4808], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400237f4
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4810], 0
mov rcx, qword [rsi + 0x4850]
test rcx, rcx
je 0x14002384d
mov qword [rsi + 0x4848], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023835
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4850], 0
mov rcx, qword [rsi + 0x4860]
test rcx, rcx
je 0x14002388e
mov qword [rsi + 0x4858], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023876
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4860], 0
mov eax, dword [rsi + 0x4870]
test eax, eax
jle 0x1400238ed
xor ebx, ebx
jmp 0x1400238c1
mov rdx, qword [0x140597540]
mov rcx, rdi
call qword [0x1401ab6b0]
mov eax, dword [rsi + 0x4870]
inc rbx
movsxd rcx, eax
cmp rbx, rcx
jge 0x1400238ed
mov rcx, qword [rsi + 0x4878]
mov rdi, qword [rcx + rbx*8]
test rdi, rdi
je 0x1400238b6
mov rcx, rdi
call fcn.14003d730
mov rax, qword [0x140597530]
test rax, rax
je 0x1400238a0
dec dword [rax + 0xf4]
jmp 0x1400238a0
mov rcx, qword [rsi + 0x4878]
test rcx, rcx
je 0x14002392e
mov qword [rsi + 0x4870], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023916
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4878], 0
lea rcx, [rsi + 0x4b58]
call fcn.140024590
mov rcx, qword [rsi + 0x4b88]
test rcx, rcx
je 0x14002397b
mov qword [rsi + 0x4b80], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023963
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4b88], 0
mov rcx, qword [rsi + 0x4b98]
test rcx, rcx
je 0x1400239bc
mov qword [rsi + 0x4b90], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x1400239a4
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4b98], 0
mov eax, dword [rsi + 0x4ad8]
test eax, eax
jle 0x140023a16
mov edi, reloc.WLDAP32.dll_Ordinal_32
xor ebx, ebx
jmp 0x1400239f2
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov eax, dword [rsi + 0x4ad8]
inc rbx
movsxd rcx, eax
add rdi, 0x28
cmp rbx, rcx
jge 0x140023a16
mov rcx, qword [rsi + 0x4ae0]
mov rcx, qword [rcx + rdi]
test rcx, rcx
je 0x1400239e3
mov rax, qword [0x140597530]
test rax, rax
je 0x1400239d0
dec dword [rax + 0xf4]
jmp 0x1400239d0
mov rcx, qword [rsi + 0x4ae0]
test rcx, rcx
je 0x140023a57
mov qword [rsi + 0x4ad8], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023a3f
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4ae0], 0
lea rcx, [rsi + 0x4b08]
call fcn.140024710
cmp dword [rsi + 0x4af8], 0
jle 0x140023ace
mov edi, reloc.WS2_32.dll_recv
xor ebx, ebx
jmp 0x140023aa0
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
inc rbx
movsxd rax, dword [rsi + 0x4af8]
add rdi, 0x70
cmp rbx, rax
jge 0x140023ace
mov r14, qword [rsi + 0x4b00]
lea rcx, [r14 + rdi]
call fcn.14003e3f0
mov rcx, qword [r14 + rdi + 0x10]
test rcx, rcx
je 0x140023a8d
mov rax, qword [0x140597530]
test rax, rax
je 0x140023a80
dec dword [rax + 0xf4]
jmp 0x140023a80
mov rcx, qword [rsi + 0x4b00]
test rcx, rcx
je 0x140023b0f
mov qword [rsi + 0x4af8], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023af7
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4b00], 0
mov rcx, qword [rsi + 0x4b48]
test rcx, rcx
je 0x140023b50
mov qword [rsi + 0x4b40], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023b38
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4b48], 0
mov rcx, qword [rsi + 0x5b38]
test rcx, rcx
je 0x140023b91
mov qword [rsi + 0x5b30], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023b79
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5b38], 0
mov rcx, qword [rsi + 0x5b48]
test rcx, rcx
je 0x140023bd2
mov qword [rsi + 0x5b40], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023bba
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5b48], 0
mov rcx, qword [rsi + 0x4bd8]
test rcx, rcx
je 0x140023c13
mov qword [rsi + 0x4bd0], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023bfb
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4bd8], 0
mov rcx, qword [rsi + 0x4be8]
test rcx, rcx
je 0x140023c54
mov qword [rsi + 0x4be0], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023c3c
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4be8], 0
mov rcx, qword [rsi + 0x4bf8]
test rcx, rcx
je 0x140023c95
mov qword [rsi + 0x4bf0], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023c7d
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x4bf8], 0
mov rcx, qword [rsi + 0x5ba0]
test rcx, rcx
je 0x140023cd6
mov qword [rsi + 0x5b98], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023cbe
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5ba0], 0
mov rcx, qword [rsi + 0x5b90]
test rcx, rcx
je 0x140023d17
mov qword [rsi + 0x5b88], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023cff
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5b90], 0
mov rdi, qword [rsi + 0x5c10]
test rdi, rdi
je 0x140023d4b
mov ecx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
cmp rdi, rax
je 0x140023d40
mov rcx, qword [rsi + 0x5c10]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov qword [rsi + 0x5c10], 0
mov rcx, qword [rsi + 0x5c20]
test rcx, rcx
je 0x140023d8c
mov qword [rsi + 0x5c18], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023d74
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5c20], 0
mov rcx, qword [rsi + 0x5c58]
test rcx, rcx
je 0x140023dcd
mov qword [rsi + 0x5c50], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023db5
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5c58], 0
mov rcx, qword [rsi + 0x5c68]
test rcx, rcx
je 0x140023e0e
mov qword [rsi + 0x5c60], 0
mov rax, qword [0x140597530]
test rax, rax
je 0x140023df6
dec dword [rax + 0xf4]
mov rdx, qword [0x140597540]
call qword [0x1401ab6b0]
mov qword [rsi + 0x5c68], 0
mov dword [rsi + 0x5c70], 0
mov byte [rsi], 0
add rsp, 0x30
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret