Function at 0x140030d90
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], r8
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0x98
mov qword [rbp - 0x61], 0xfffffffffffffffe
mov rdi, r8
mov qword [rbp - 0x19], 0
mov qword [rbp - 0x11], recv
mov byte [rbp - 0x29], 0
mov dword [rbp - 0x41], ecx
mov dword [rbp - 0x3d], edx
mov qword [rbp - 0x39], r8
mov dword [rbp - 0x31], r9d
mov rbx, qword [rbp + 0x7f]
mov r13, 0xffffffffffffffff
mov r8, r13
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x140030df0
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.140016660
xor esi, esi
mov qword [rbp - 9], rsi
mov dword [rbp - 1], esi
lea rdx, [rbp - 0x59]
mov rcx, qword [0x1402c5608]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x140030e29
lea ecx, [rsi + 0x50]
jmp 0x140030e33
movsx eax, word [rbp - 0x4f]
movsx ecx, word [rbp - 0x4b]
sub ecx, eax
mov dword [rbp + 3], ecx
mov qword [rbp + 7], rsi
mov rax, qword [rbp - 0x39]
mov byte [rax], sil
dec dword [rbp - 0x31]
lea rcx, [0x1401d90e8]
call fcn.14002c3f0
mov r8d, dword [rbp - 0x19]
mov rdx, rbx
mov ecx, dword [rbp - 0x3d]
call fcn.140032f30
cmp eax, r13d
je 0x1400313b8
lea r14, [0x140000000]
lea rcx, [rbp + 0x77]
call fcn.140033000
mov r15d, eax
mov ecx, dword [rbp + 0x77]
cmp eax, 1
jne 0x140030e88
mov byte [rbp + 0x67], cl
jmp 0x140030e90
test eax, eax
jle 0x1400313b4
cmp ecx, 9
jne 0x140030ec7
cmp qword [0x1402c6698], 0
je 0x140030ec7
lea r8, [rbp + 0x77]
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x41]
call fcn.140030050
mov r15d, eax
mov ecx, dword [rbp + 0x77]
test ecx, ecx
js 0x1400313b4
je 0x1400311c3
mov esi, dword [rbp - 9]
dec ecx
cmp ecx, 0x7e
ja case.0x140030ee9.17
movsxd rax, ecx
movzx eax, byte [r14 + rax + 0x31460]
mov ecx, dword [r14 + rax*4 + 0x3141c]
add rcx, r14
jmp rcx
test esi, esi
jle case.0x140031044.69
mov r14d, dword [rbp - 1]
test r14d, r14d
jle 0x140030e68
mov edx, esi
mov r12, qword [rbp - 0x39]
mov rcx, r12
call fcn.140032dd0
movsxd rbx, eax
movsxd rcx, esi
sub r14d, esi
movsxd r8, r14d
lea rdx, [rcx + r12]
sub rcx, rbx
add rcx, r12
call fcn.140187b30
sub esi, ebx
mov r14d, dword [rbp - 1]
sub r14d, ebx
mov dword [rbp - 1], r14d
movsxd rax, r14d
mov byte [rax + r12], 0
jmp 0x14003108d
cmp dword [rbp - 1], 0
jle 0x14003136b
lea rcx, [rbp - 0x41]
call fcn.140031500
mov esi, dword [rbp - 9]
jmp case.0x140031044.69
test esi, esi
jle case.0x140031044.69
mov r14d, dword [rbp - 1]
cmp esi, r14d
jge 0x140030e68
lea eax, [rsi - 1]
movsxd rdx, eax
movzx r8d, byte [rdx + rdi]
movsxd rcx, esi
movzx eax, byte [rcx + rdi]
mov byte [rdx + rdi], al
mov byte [rcx + rdi], r8b
lea eax, [r14 - 1]
cmp esi, eax
je 0x140031090
inc esi
jmp 0x14003108d
mov r8d, 1
lea rdx, [rbp + 0x5f]
mov ebx, dword [rbp - 0x41]
mov ecx, ebx
call fcn.1401913cc
cmp eax, r13d
je case.0x140031044.69
mov r8d, 1
lea rdx, [rbp + 0x60]
mov ecx, ebx
call fcn.1401913cc
cmp eax, r13d
je case.0x140031044.69
movzx eax, byte [rbp + 0x5f]
cmp al, 0x5b
jne 0x1400310fa
movzx ecx, byte [rbp + 0x60]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x140031028
mov r8d, 1
lea rdx, [rbp + 0x61]
mov ecx, ebx
call fcn.1401913cc
cmp eax, r13d
je case.0x140031044.69
cmp byte [rbp + 0x61], 0x7e
jne case.0x140031044.69
cmp byte [rbp + 0x60], 0x33
jne case.0x140031044.69
lea rcx, [rbp - 0x41]
call fcn.140031500
mov esi, dword [rbp - 9]
jmp case.0x140031044.69
movsx eax, cl
add eax, 0xffffffbf
cmp eax, 7
ja case.0x140031044.69
cdqe
mov ecx, dword [r14 + rax*4 + 0x314e0]
add rcx, r14
jmp rcx
mov edx, 1
lea rcx, [rbp - 0x41]
call fcn.1400315b0
mov esi, dword [rbp - 9]
jmp case.0x140031044.69
xor edx, edx
lea rcx, [rbp - 0x41]
call fcn.1400315b0
mov esi, dword [rbp - 9]
jmp case.0x140031044.69
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x140030e68
mov r8d, esi
mov edx, r14d
mov rcx, qword [rbp - 0x39]
call fcn.140032c30
add esi, eax
mov dword [rbp - 9], esi
cmp byte [0x1402c6624], 0
jne 0x140031186
lea rcx, [rbp - 0x41]
call fcn.140032110
mov esi, dword [rbp - 9]
jmp 0x140030e68
test esi, esi
jle case.0x140031044.69
mov edx, esi
mov rcx, qword [rbp - 0x39]
call fcn.140032dd0
sub esi, eax
mov dword [rbp - 9], esi
jmp 0x1400311ad
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x140030e68
mov dword [rbp - 9], r14d
cmp byte [0x1402c6624], 0
jne 0x140031186
lea rcx, [rbp - 0x41]
call fcn.140032110
mov esi, dword [rbp - 9]
jmp 0x140030e68
cmp al, 0x4f
jne case.0x140031044.69
movzx eax, byte [rbp + 0x60]
cmp al, 0x46
je 0x140031133
cmp al, 0x48
jne case.0x140031044.69
test esi, esi
je case.0x140031044.69
mov dword [rbp - 9], 0
jmp 0x1400311ad
call fcn.140032110
mov esi, dword [rbp - 9]
jmp case.0x140031044.69
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x140030e68
mov dword [rbp - 9], r14d
jmp 0x140031090
mov byte [rdi], 0
mov dword [rbp - 1], 0
mov dword [rbp - 9], 0
jmp 0x1400311ad
movsxd rax, esi
mov byte [rax + rdi], 0
mov dword [rbp - 1], esi
jmp 0x1400311ad
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x140030e68
mov dword [rbp - 9], r14d
cmp byte [0x1402c6624], 0
je 0x14003109d
lea rcx, [rbp - 0x41]
call fcn.140031b00
mov esi, dword [rbp - 9]
jmp 0x140030e68
mov r8d, 7
lea rdx, str.e_He_2J
lea ecx, [r8 - 6]
call fcn.140032f30
lea rcx, [rbp - 0x41]
cmp byte [0x1402c6624], 0
je 0x140031126
call fcn.140031b00
mov esi, dword [rbp - 9]
jmp case.0x140031044.69
movsxd r11, esi
mov edx, r11d
mov r9d, r11d
mov r8d, r11d
test esi, esi
jle 0x140031212
mov eax, r11d
mov ecx, r11d
lea r10d, [rsi - 1]
mov r9d, eax
mov r8d, ecx
movsxd rcx, r10d
mov rax, qword [rbp - 0x39]
cmp byte [rcx + rax], 0x20
jne 0x14003120f
mov edx, r10d
mov esi, r10d
mov eax, r10d
mov r9d, r10d
mov ecx, r10d
mov r8d, r10d
test r10d, r10d
jg 0x1400311e1
mov dword [rbp - 9], esi
test edx, edx
jle 0x140031242
nop word [rax + rax]
lea edx, [rsi - 1]
mov r9d, r8d
movsxd rcx, edx
mov rax, qword [rbp - 0x39]
cmp byte [rcx + rax], 0x20
je 0x14003123f
mov r9d, edx
mov esi, edx
mov r8d, edx
test edx, edx
jg 0x140031220
mov dword [rbp - 9], esi
mov ebx, dword [rbp - 1]
sub ebx, r11d
lea eax, [rbx + 1]
movsxd r8, eax
mov rdx, r11
add rdx, qword [rbp - 0x39]
movsxd rcx, r9d
add rcx, qword [rbp - 0x39]
call fcn.140187b30
lea eax, [rbx + rsi]
mov dword [rbp - 1], eax
jmp 0x1400311ad
mov r14d, dword [rbp - 1]
cmp r14d, dword [rbp - 0x31]
jge 0x140030e68
mov r12, qword [rbp - 0x39]
cmp r14d, esi
jne 0x1400312f1
movsxd r8, r15d
movsxd rcx, esi
add rcx, r12
lea rdx, [rbp + 0x67]
call fcn.140187b30
add esi, r15d
mov dword [rbp - 9], esi
add r14d, r15d
mov dword [rbp - 1], r14d
movsxd rax, r14d
mov byte [rax + r12], 0
cmp byte [0x1402c6624], 0
jne 0x140031186
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rcx, qword [rbp - 0x29]
mov edx, dword [rbp - 0x19]
call fcn.1400327f0
mov ebx, eax
mov edx, r14d
mov rcx, r12
call fcn.1400327f0
add ebx, eax
cmp ebx, dword [rbp + 3]
jge 0x14003109d
mov r8d, r15d
lea rdx, [rbp + 0x67]
jmp 0x140030e57
movsxd rax, esi
lea rdi, [rax + r12]
movsxd rbx, r15d
mov r14d, dword [rbp - 1]
sub r14d, esi
movsxd r8, r14d
lea rcx, [rbx + rax]
add rcx, r12
mov rdx, rdi
call fcn.140187b30
mov r8, rbx
lea rdx, [rbp + 0x67]
mov rcx, rdi
call fcn.140187b30
add esi, r15d
mov dword [rbp - 9], esi
mov r14d, dword [rbp - 1]
add r14d, r15d
mov dword [rbp - 1], r14d
movsxd rax, r14d
mov byte [rax + r12], 0
lea rcx, [rbp - 0x41]
cmp byte [0x1402c6624], 0
je 0x14003135a
call fcn.140031b00
mov esi, dword [rbp - 9]
mov rdi, qword [rbp + 0x6f]
jmp 0x140030e68
call fcn.140032110
mov esi, dword [rbp - 9]
mov rdi, qword [rbp + 0x6f]
jmp 0x140030e68
lea rcx, [0x1402c6628]
call fcn.140031a80
jmp 0x1400313b8
mov rax, qword [0x1402c6630]
cmp qword [0x1402c6628], rax
je 0x140031395
lea rcx, [0x1402c6628]
call fcn.140031a80
cmp byte [0x1402c6624], 0
je 0x1400313b4
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x1400313b4
mov dword [rbp - 9], r14d
lea rcx, [rbp - 0x41]
call fcn.140031b00
mov r13d, dword [rbp - 1]
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x1400313ef
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400313ea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140031414
call fcn.140169b20
mov eax, r13d
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14018ff50
nop
mov dword [rax], reloc.WS2_32.dll_inet_addr
jmp 0x1400313b8
call fcn.14018aa4c
int3