Function at 0x140321dc0
Capabilities:
Write file on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov rsi, rcx
mov rax, qword [0x140ad7868]
xor rax, rbp
mov qword [rbp + 0x30], rax
lea rax, [rcx + 0x80]
mov qword [rbp - 0x58], rax
lea rax, [rcx + 0x74]
mov qword [rbp - 0x50], rax
lea rax, [rcx + 0x71]
mov qword [rbp - 0x48], rax
lea rax, [rcx + 0x68]
mov qword [rbp - 0x40], rax
mov eax, 0x2dcfdd1d
mov r13d, 0x9a7aef5d
mov r14d, 0x38d5c8cd
jmp 0x140321e4d
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe20efac6
mov ecx, 0xab79f2f6
nop dword [rax + rax]
cmove eax, ecx
cmp dword [0x140ae0d5c], 0xa
cmovl eax, ecx
cmp eax, 0x712ca63
jle 0x140321ec0
cmp eax, 0x3b68e6ee
jg 0x140321f20
cmp eax, 0x285dd2f0
jg 0x140321fc5
cmp eax, 0x230b2558
jg 0x1403220d9
cmp eax, 0x16d20a7d
jle 0x14032234f
cmp eax, 0x16d20a7e
je 0x140322378
cmp eax, 0x1c30b3eb
jne 0x140321e4d
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x78], rax
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xc31dd0a6
mov ecx, 0xfd234bc9
jmp 0x140321e40
cmp eax, 0xb2c244c9
jg 0x140321f70
cmp eax, 0xa4c4f724
jg 0x14032202b
cmp eax, 0x90827ee4
jg 0x14032213b
cmp eax, 0x869e4e60
je 0x14032238b
cmp eax, 0x8a34e15a
je 0x140322398
cmp eax, 0x8abb8572
jne 0x140321e4d
mov rax, qword [rbp + 0x10]
cmp byte [rax], 0
setne byte [rbp + 0x2a]
mov eax, 0x230b2559
jmp 0x140321e4d
cmp eax, 0x5e636fe2
jg 0x140322061
cmp eax, 0x53fda093
jg 0x14032217e
cmp eax, 0x3b68e6ef
je 0x1403223b2
cmp eax, 0x401ebc27
je 0x1403223c0
cmp eax, 0x47ce693f
jne 0x140321e4d
mov eax, 0x285dd2f1
xor r15d, r15d
jmp 0x140321e4d
cmp eax, 0xd57218cd
jg 0x1403220a3
cmp eax, 0xc31dd0a5
jg 0x1403221c4
cmp eax, 0xb2c244ca
je 0x1403223cd
cmp eax, 0xb94d094c
je 0x1403223d7
cmp eax, 0xba7597a8
jne 0x140321e4d
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xf0919f77
mov ecx, 0x304aa53e
jmp 0x140321e40
cmp eax, 0x304aa53d
jg 0x1403221ef
cmp eax, 0x285dd2f1
je 0x1403223f5
cmp eax, 0x2cbd8f0d
je 0x140322402
cmp eax, 0x2dcfdd1d
jne 0x140321e4d
mov eax, reloc.WLDAP32.dll_Ordinal_32
call fcn.140616310
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov eax, reloc.WS2_32.dll_recv
call fcn.140616310
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x20], rax
mov eax, 0x8a34e15a
jmp 0x140321e4d
cmp eax, 0xab79f2f5
jg 0x140322226
cmp eax, 0xa4c4f725
je 0x140322414
cmp eax, 0xa5ad8b7f
je 0x140322432
cmp eax, 0xa897514f
jne 0x140321e4d
mov eax, 0xd57218ce
jmp 0x140321e4d
cmp eax, 0x7c60190b
jg 0x140322258
cmp eax, 0x5e636fe3
je 0x14032243c
cmp eax, 0x73b71f08
je 0x14032244e
cmp eax, 0x761b6d19
jne 0x140321e4d
cmp byte [rbp + 0x29], 0
mov eax, 0x16d20a7e
mov ecx, 0xa4c4f725
cmovne eax, ecx
jmp 0x140321e4d
cmp eax, 0xe81631ef
jg 0x140322324
cmp eax, 0xd57218ce
je 0x1403224e4
cmp eax, 0xe20efac6
je 0x140322502
cmp eax, 0xe4653f03
jne 0x140321e4d
mov eax, 0xa0a21162
jmp 0x140321e4d
cmp eax, 0x230b2559
je 0x140321e22
cmp eax, 0x24273be3
je 0x14032250c
cmp eax, 0x259fded7
jne 0x140321e4d
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x30], rax
mov rax, qword [rbp - 0x30]
mov rax, qword [rbp]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp - 0x38]
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp + 8], rax
mov rax, qword [rbp + 8]
add rax, 0x20
mov qword [rbp - 0x70], rax
mov eax, 0xe81631f0
jmp 0x140321e4d
cmp eax, 0x90827ee5
je 0x14032251d
cmp eax, 0x9b69b8aa
je 0x140322529
cmp eax, 0xa0a21162
jne 0x140321e4d
mov rax, qword [rbp]
mov rax, qword [rax]
sub rax, qword [rbp + 8]
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
setne byte [rbp + 0x29]
mov eax, 0xd407700
jmp 0x140321e4d
cmp eax, 0x53fda094
je 0x140322541
cmp eax, 0x545161e5
je 0x14032257c
cmp eax, 0x5868fc8a
jne 0x140321e4d
mov eax, edi
and al, 1
mov byte [rbp + 0x27], al
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa897514f
mov ecx, 0xd57218ce
jmp 0x140321e40
cmp eax, 0xc31dd0a6
je 0x140322592
cmp eax, 0xc57dbb53
je 0x14032259c
cmp eax, 0xcb875405
jne 0x140321e4d
mov eax, 0x545161e5
jmp 0x140321e4d
cmp eax, 0x304aa53e
je 0x1403225b2
cmp eax, 0x339cc31c
je 0x1403225d8
cmp eax, 0x39783ec8
jne 0x140321e4d
cmp dword [rbp + 0x20], 0
mov eax, 0xb2c244ca
mov ecx, 0x24273be3
cmove eax, ecx
jmp 0x140321e4d
cmp eax, 0xab79f2f6
je 0x1403225f0
cmp eax, 0xb0f37788
je 0x14032260e
cmp eax, 0xb2831d37
jne 0x140321e4d
mov rax, qword [rbp + 0x10]
mov byte [rax], 0
mov eax, 0x869e4e60
jmp 0x140321e4d
cmp eax, 0x7c60190c
je 0x14032261b
cmp eax, 0x7ef8647d
je 0x140322630
cmp eax, 0x7ffe141f
jne 0x140321e4d
mov rax, qword [rbp - 0x60]
mov edx, dword [rbp - 0xc]
sub rsp, 0x20
mov rcx, rsi
call qword [rax]
add rsp, 0x20
mov ecx, dword [0x140ae14f0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete byte [rbp + 0x1c]
mov edx, dword [0x140ae14f4]
mov ecx, 0x9813cb51
cmove ecx, r13d
cmp edx, 0xa
setl byte [rbp + 0x18]
mov dword [rbp + 0x2c], eax
cmovl ecx, r13d
mov edx, 0x9c69a221
nop word cs:[rax + rax]
nop dword [rax]
cmp edx, 0x9c69a220
jg 0x1403222f0
cmp edx, 0x9813cb51
je 0x140322319
cmp edx, 0x9a7aef5d
jne 0x1403222d0
jmp 0x140322648
cmp edx, 0x38d5c8cd
je 0x140322320
cmp edx, 0x9c69a221
jne 0x1403222d0
movzx ebx, byte [rbp + 0x1c]
cmp byte [rbp + 0x18], 0
mov edx, 0x9813cb51
cmovne edx, r14d
test bl, bl
cmovne edx, r14d
jmp 0x1403222d0
mov edx, 0x38d5c8cd
jmp 0x1403222d0
mov edx, ecx
jmp 0x1403222d0
cmp eax, 0xe81631f0
je 0x140322679
cmp eax, 0xf0919f77
je 0x1403226ad
cmp eax, 0xfd234bc9
jne 0x140321e4d
mov eax, 0x53fda094
jmp 0x140321e4d
cmp eax, 0xd407700
jne 0x1403226f5
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa5ad8b7f
mov ecx, 0xb94d094c
jmp 0x140321e40
mov rax, qword [rbp + 0x10]
mov al, byte [rax]
mov byte [rbp + 0x2b], al
mov eax, 0xba7597a8
jmp 0x140321e4d
mov eax, 0x7c60190c
mov r12b, 1
jmp 0x140321e4d
mov rax, qword [rbp - 0x20]
cmp qword [rax], 0
mov eax, 0x5e636fe3
mov ecx, 0x401ebc27
cmove eax, ecx
jmp 0x140321e4d
mov eax, 0x285dd2f1
mov r15b, byte [rbp + 0x28]
jmp 0x140321e4d
mov eax, 0x5868fc8a
mov dil, 1
jmp 0x140321e4d
mov eax, 0xb0f37788
jmp 0x140321e4d
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa5ad8b7f
mov ecx, 0x761b6d19
jmp 0x140321e40
mov eax, 0x7c60190c
mov r12d, r15d
jmp 0x140321e4d
lea rax, [rbp + 0x2c]
mov qword [rbp - 0x28], rax
mov eax, 0x73b71f08
jmp 0x140321e4d
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xc31dd0a6
mov ecx, 0x1c30b3eb
jmp 0x140321e40
mov eax, 0xb94d094c
jmp 0x140321e4d
mov rax, qword [rbp - 0x48]
mov qword [rbp + 0x10], rax
mov eax, 0x8abb8572
jmp 0x140321e4d
mov rax, qword [rbp - 0x28]
mov eax, dword [0x140ae14f0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete byte [rbp + 0x1c]
mov ecx, dword [0x140ae14f4]
mov eax, 0x9813cb51
cmove eax, r13d
cmp ecx, 0xa
setl byte [rbp + 0x18]
cmovl eax, r13d
mov ecx, 0x9c69a221
nop word cs:[rax + rax]
nop
cmp ecx, 0x9c69a220
jg 0x1403224b0
cmp ecx, 0x9813cb51
je 0x1403224d9
cmp ecx, 0x9a7aef5d
jne 0x140322490
jmp 0x1403226ba
cmp ecx, 0x38d5c8cd
je 0x1403224e0
cmp ecx, 0x9c69a221
jne 0x140322490
movzx edx, byte [rbp + 0x1c]
cmp byte [rbp + 0x18], 0
mov ecx, 0x9813cb51
cmovne ecx, r14d
test dl, dl
cmovne ecx, r14d
jmp 0x140322490
mov ecx, 0x38d5c8cd
jmp 0x140322490
mov ecx, eax
jmp 0x140322490
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xa897514f
mov ecx, 0x712ca64
jmp 0x140321e40
mov eax, 0xab79f2f6
jmp 0x140321e4d
mov rax, qword [rbp + 0x10]
mov byte [rax], 0
mov eax, 0xe4653f03
jmp 0x140321e4d
mov eax, 0x5868fc8a
xor edi, edi
jmp 0x140321e4d
mov eax, dword [rbp + 0x20]
cmp eax, 3
mov eax, 0xb2c244ca
mov ecx, 0xb2831d37
cmove eax, ecx
jmp 0x140321e4d
mov rax, qword [rbp - 0x78]
mov r9, qword [rax]
mov rcx, qword [rbp + 8]
mov r8, qword [rbp - 8]
sub rsp, 0x20
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add rsp, 0x20
mov rcx, qword [rbp - 8]
cmp rcx, rax
mov eax, 0x47ce693f
mov ecx, 0x16d20a7e
cmove eax, ecx
jmp 0x140321e4d
cmp dword [rbp + 0x20], 0
mov eax, 0x339cc31c
mov ecx, 0x39783ec8
cmovle eax, ecx
jmp 0x140321e4d
mov eax, 0x1c30b3eb
jmp 0x140321e4d
cmp byte [rbp + 0x2a], 0
mov eax, 0x401ebc27
mov ecx, 0x2cbd8f0d
cmovne eax, ecx
jmp 0x140321e4d
test byte [rbp + 0x2b], 1
sete byte [rbp + 0x28]
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xf0919f77
mov ecx, 0x3b68e6ef
jmp 0x140321e40
mov eax, dword [rbp + 0x20]
cmp eax, 3
mov eax, 0x9b69b8aa
mov ecx, 0x7ef8647d
cmovl eax, ecx
jmp 0x140321e4d
mov eax, dword [0x140ae0d58]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov eax, 0xe20efac6
mov ecx, 0xc57dbb53
jmp 0x140321e40
mov eax, 0x7c60190c
xor r12d, r12d
jmp 0x140321e4d
mov rax, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
mov eax, 0x5868fc8a
mov edi, r12d
jmp 0x140321e4d
mov eax, dword [rbp + 0x20]
cmp eax, 1
mov eax, 0xb2c244ca
mov ecx, 0xa0a21162
cmove eax, ecx
jmp 0x140321e4d
mov dword [rbp + 0x1c], 0xffffffff
mov ecx, 0x71f79812
nop word cs:[rax + rax]
nop
cmp ecx, 0x71f79812
je 0x140322672
cmp ecx, 0xa664c9ed
jne 0x140322660
jmp 0x1403226d6
mov ecx, 0xa664c9ed
jmp 0x140322660
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x68]
mov r8, qword [rbp + 8]
mov r9, qword [rbp - 0x70]
mov rbx, qword [rcx]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
mov rdx, qword [rbp - 0x50]
call qword [rbx + 0x40]
add rsp, 0x30
mov dword [rbp + 0x20], eax
mov eax, 0xcb875405
jmp 0x140321e4d
mov al, byte [rbp + 0x2b]
mov eax, 0x304aa53e
jmp 0x140321e4d
mov dword [rbp - 0xc], 0xffffffff
mov rax, qword [rsi]
add rax, 0x18
mov qword [rbp - 0x60], rax
mov eax, 0x7ffe141f
jmp 0x140321e4d
mov dword [rbp + 0x18], eax
mov eax, dword [rbp + 0x1c]
cmp eax, dword [rbp + 0x18]
mov rax, qword [rbp - 0x28]
mov eax, 0x259fded7
mov ecx, 0x90827ee5
cmove eax, ecx
jmp 0x140321e4d
cmp eax, 0x712ca64
jne 0x140321e4d
mov bl, byte [rbp + 0x27]
mov rcx, qword [rbp + 0x30]
xor rcx, rbp
sub rsp, 0x20
call fcn.140616370
add rsp, 0x20
mov eax, ebx
lea rsp, [rbp + 0x38]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret