Function at 0x14003d9a0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rsi, rcx
mov rdi, rdx
movzx ecx, word [rcx + 0xe]
mov eax, ecx
and eax, 7
cmp eax, 5
ja case.default.0x14003d9e5
lea rdx, [0x140000000]
cdqe
mov r8d, dword [rdx + rax*4 + 0x3dfbc]
add r8, rdx
jmp r8
xor edx, edx
mov rcx, rdi
call fcn.140060080
mov rcx, qword [rdi]
mov edx, WSAGetLastError
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, 0x75
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, WSAGetLastError
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, WSAGetLastError
call fcn.1400602c0
jmp 0x14003dfa1
mov edx, 1
mov rcx, rdi
call fcn.140060080
mov rcx, qword [rdi]
mov edx, 0x66
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, 0x61
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, WSAGetLastError
call fcn.1400602c0
mov edx, reloc.WS2_32.dll_WSAStartup
mov rcx, qword [rdi]
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, 0x65
call fcn.1400602c0
jmp 0x14003dfa1
mov edx, 2
mov rcx, rdi
call fcn.140060080
mov rcx, qword [rdi]
mov edx, reloc.WS2_32.dll_WSACleanup
call fcn.1400602c0
mov rcx, qword [rdi]
mov edx, WSACleanup
call fcn.1400602c0
mov edx, 0x75
jmp 0x14003da64
mov edx, 3
mov rcx, rdi
call fcn.140060080
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
cmp rax, qword [rdi + 0x28]
jbe 0x14003dad9
mov edx, 1
lea rcx, [rdi + 8]
call fcn.14003e4a0
mov rcx, qword [rdi + 0x20]
xor ebx, ebx
lea rax, [rcx + 0x10]
mov qword [rdi + 0x20], rax
mov qword [rcx], rbx
mov byte [rcx + 8], bl
mov rcx, qword [rdi]
lea edx, [rbx + 0x7b]
call fcn.1400602c0
mov rax, qword [rsi + 8]
movabs r15, 0xffffffffffff
mov ecx, dword [rsi]
and rax, r15
shl rcx, 5
add rcx, rax
cmp rax, rcx
je 0x14003dba0
lea rbx, [rax + 0xc]
mov r12d, 0x1000
mov r14d, 6
nop word [rax + rax]
movzx ecx, word [rbx + 2]
test r12w, cx
je 0x14003db49
movzx eax, word [rbx]
lea rdx, [rbx - 0xc]
mov r8d, r14d
sub r8d, eax
jmp 0x14003db54
mov rdx, qword [rbx - 4]
mov r8d, dword [rbx - 0xc]
and rdx, r15
shr cx, 0xb
and cl, 1
movzx r9d, cl
mov rcx, rdi
call fcn.140060990
test al, al
je 0x14003dd09
lea rcx, [rbx + 4]
mov rdx, rdi
call fcn.14003d9a0
test al, al
je 0x14003dd09
mov ecx, dword [rsi]
add rbx, 0x20
mov rax, qword [rsi + 8]
and rax, r15
shl rcx, 5
add rcx, rax
lea rax, [rbx - 0xc]
cmp rax, rcx
jne 0x14003db30
add qword [rdi + 0x20], 0xfffffffffffffff0
mov rax, qword [rdi + 0x20]
cmp qword [rax], 0
je 0x14003dbf1
mov rcx, qword [rdi]
mov edx, 0xa
call fcn.1400602c0
mov rbx, qword [rdi + 0x20]
sub rbx, qword [rdi + 0x18]
mov eax, dword [rdi + 0x44]
movzx esi, word [rdi + 0x40]
mov r14, qword [rdi]
shr rbx, 4
imul rbx, rax
test rbx, rbx
je 0x14003dbf1
nop dword [rax + rax]
movzx edx, si
mov rcx, r14
call fcn.1400602c0
sub rbx, 1
jne 0x14003dbe0
mov edx, 0x7d
jmp 0x14003dcbe
mov edx, 4
mov rcx, rdi
call fcn.140060080
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
cmp rax, qword [rdi + 0x28]
jbe 0x14003dc28
mov edx, 1
lea rcx, [rdi + 8]
call fcn.14003e4a0
mov rcx, qword [rdi + 0x20]
lea rax, [rcx + 0x10]
xor ebx, ebx
mov qword [rdi + 0x20], rax
mov qword [rcx], rbx
mov byte [rcx + 8], 1
mov rcx, qword [rdi]
lea edx, [rbx + 0x5b]
call fcn.1400602c0
mov eax, dword [rsi]
movabs r15, 0xffffffffffff
mov rbx, qword [rsi + 8]
shl rax, 4
and rbx, r15
add rax, rbx
cmp rbx, rax
je 0x14003dc8f
mov rdx, rdi
mov rcx, rbx
call fcn.14003d9a0
test al, al
je 0x14003dd09
mov ecx, dword [rsi]
add rbx, 0x10
mov rax, qword [rsi + 8]
shl rcx, 4
and rax, r15
add rcx, rax
cmp rbx, rcx
jne 0x14003dc63
add qword [rdi + 0x20], 0xfffffffffffffff0
mov rax, qword [rdi + 0x20]
cmp qword [rax], 0
je 0x14003dcb9
test byte [rdi + 0x48], 1
jne 0x14003dcb9
mov rcx, qword [rdi]
mov edx, 0xa
call fcn.1400602c0
mov rcx, rdi
call fcn.1400689a0
mov edx, 0x5d
mov rcx, qword [rdi]
call fcn.1400602c0
mov rax, qword [rdi + 0x18]
cmp qword [rdi + 0x20], rax
jne 0x14003dfa1
mov rax, qword [rdi]
mov rbx, qword [rax]
mov r8, qword [rbx + 0x18]
mov rcx, qword [rbx + 8]
cmp r8, rcx
je 0x14003dfa1
mov r9, qword [rbx]
sub r8, rcx
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rax, qword [rbx + 8]
mov qword [rbx + 0x18], rax
jmp 0x14003dfa1
xor al, al
jmp 0x14003dfa3
mov r12d, 0x1000
test r12w, cx
je 0x14003dd2b
movzx eax, word [rsi + 0xc]
mov r14d, 6
sub r14d, eax
jmp 0x14003dd3f
mov r14d, dword [rsi]
movabs r15, 0xffffffffffff
mov rsi, qword [rsi + 8]
and rsi, r15
shr cx, 0xb
mov r8d, r14d
and cl, 1
mov rdx, rsi
movzx r9d, cl
mov rcx, rdi
call fcn.140060990
jmp 0x14003dfa3
movzx eax, cx
mov edx, 6
shr ax, 9
test al, 1
je 0x14003de01
movaps xmmword [rsp + 0x40], xmm6
mov rcx, rdi
movsd xmm6, qword [rsi]
call fcn.140060080
movabs rcx, 0x7ff0000000000000
movsd qword [rbp + 0x30], xmm6
mov rax, qword [rbp + 0x30]
and rax, rcx
cmp rax, rcx
jne 0x14003dda9
movaps xmm6, xmmword [rsp + 0x40]
xor al, al
jmp 0x14003dfa3
mov r8d, dword [rdi + 0x38]
lea rdx, [rbp - 0x30]
movaps xmm0, xmm6
call fcn.140069e80
xor ebx, ebx
lea rcx, [rbp - 0x30]
mov rsi, rax
sub rsi, rcx
lea rcx, [rbp - 0x30]
cmp rcx, rax
cmova rsi, rbx
test rsi, rsi
je 0x14003ddf5
nop word [rax + rax]
movsx edx, byte [rbp + rbx - 0x30]
mov rcx, qword [rdi]
call fcn.1400602c0
inc rbx
cmp rbx, rsi
jne 0x14003dde0
movaps xmm6, xmmword [rsp + 0x40]
mov al, 1
jmp 0x14003dfa3
movzx eax, cl
shr al, 5
test al, 1
je 0x14003de76
mov ebx, dword [rsi]
mov rcx, rdi
call fcn.140060080
lea rdx, [rbp - 0x30]
test ebx, ebx
jns 0x14003de29
not ebx
mov byte [rbp - 0x30], 0x2d
inc ebx
lea rdx, [rbp - 0x2f]
mov ecx, ebx
call fcn.14006f4c0
xor ebx, ebx
lea rcx, [rbp - 0x30]
mov r14, rax
lea rsi, [rbp - 0x30]
sub r14, rcx
lea rcx, [rbp - 0x30]
cmp rcx, rax
cmova r14, rbx
test r14, r14
je 0x14003dfa1
movsx edx, byte [rsi]
mov rcx, qword [rdi]
call fcn.1400602c0
inc rsi
lea rcx, [rbp - 0x30]
mov rax, rsi
sub rax, rcx
cmp rax, r14
jne 0x14003de54
jmp 0x14003dfa1
movzx eax, cl
shr al, 6
test al, 1
je 0x14003dee2
mov ebx, dword [rsi]
mov rcx, rdi
call fcn.140060080
lea rdx, [rbp - 0x30]
mov ecx, ebx
call fcn.14006f4c0
xor ebx, ebx
lea rcx, [rbp - 0x30]
mov r14, rax
lea rsi, [rbp - 0x30]
sub r14, rcx
lea rcx, [rbp - 0x30]
cmp rcx, rax
cmova r14, rbx
test r14, r14
je 0x14003dfa1
nop dword [rax]
movsx edx, byte [rsi]
mov rcx, qword [rdi]
call fcn.1400602c0
inc rsi
lea rcx, [rbp - 0x30]
mov rax, rsi
sub rax, rcx
cmp rax, r14
jne 0x14003dec0
jmp 0x14003dfa1
mov rbx, qword [rsi]
shr cl, 7
test cl, 1
mov rcx, rdi
je 0x14003df53
call fcn.140060080
lea rdx, [rbp - 0x30]
test rbx, rbx
jns 0x14003df0c
not rbx
mov byte [rbp - 0x30], 0x2d
inc rbx
lea rdx, [rbp - 0x2f]
mov rcx, rbx
call fcn.14006f710
xor ebx, ebx
lea rcx, [rbp - 0x30]
mov r14, rax
lea rsi, [rbp - 0x30]
sub r14, rcx
lea rcx, [rbp - 0x30]
cmp rcx, rax
cmova r14, rbx
test r14, r14
je 0x14003dfa1
movsx edx, byte [rsi]
mov rcx, qword [rdi]
call fcn.1400602c0
inc rsi
lea rcx, [rbp - 0x30]
mov rax, rsi
sub rax, rcx
cmp rax, r14
jne 0x14003df34
jmp 0x14003dfa1
call fcn.140060080
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.14006f710
xor ebx, ebx
lea rcx, [rbp - 0x30]
mov r14, rax
lea rsi, [rbp - 0x30]
sub r14, rcx
lea rcx, [rbp - 0x30]
cmp rcx, rax
cmova r14, rbx
test r14, r14
je 0x14003dfa1
movsx edx, byte [rsi]
mov rcx, qword [rdi]
call fcn.1400602c0
inc rsi
lea rcx, [rbp - 0x30]
mov rax, rsi
sub rax, rcx
cmp rax, r14
jne 0x14003df84
mov al, 1
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret