Function at 0x14003e160
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], setsockopt
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 0x14003e1c0
mov rdx, rbx
lea rcx, [rbp - 0x29]
call fcn.140024bb0
xor esi, esi
mov qword [rbp - 9], rsi
mov dword [rbp - 1], esi
lea rdx, [rbp - 0x59]
mov rcx, qword [0x14035a208]
call qword [sym.imp.KERNEL32.dll_GetConsoleScreenBufferInfo]
test eax, eax
jne 0x14003e1f9
lea ecx, [rsi + 0x50]
jmp 0x14003e203
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, [0x1402555d0]
call fcn.140038f10
mov r8d, dword [rbp - 0x19]
mov rdx, rbx
mov ecx, dword [rbp - 0x3d]
call fcn.1400400b0
cmp eax, r13d
je 0x14003e788
lea r14, [0x140000000]
lea rcx, [rbp + 0x77]
call fcn.140040180
mov r15d, eax
mov ecx, dword [rbp + 0x77]
cmp eax, 1
jne 0x14003e258
mov byte [rbp + 0x67], cl
jmp 0x14003e260
test eax, eax
jle 0x14003e784
cmp ecx, 9
jne 0x14003e297
cmp qword [0x14035b278], 0
je 0x14003e297
lea r8, [rbp + 0x77]
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x41]
call fcn.14003abf0
mov r15d, eax
mov ecx, dword [rbp + 0x77]
test ecx, ecx
js 0x14003e784
je 0x14003e593
mov esi, dword [rbp - 9]
dec ecx
cmp ecx, 0x7e
ja case.0x14003e2b9.17
movsxd rax, ecx
movzx eax, byte [r14 + rax + 0x3e830]
mov ecx, dword [r14 + rax*4 + 0x3e7ec]
add rcx, r14
jmp rcx
test esi, esi
jle case.0x14003e414.69
mov r14d, dword [rbp - 1]
test r14d, r14d
jle 0x14003e238
mov edx, esi
mov r12, qword [rbp - 0x39]
mov rcx, r12
call fcn.14003ff50
movsxd rbx, eax
movsxd rcx, esi
sub r14d, esi
movsxd r8, r14d
lea rdx, [rcx + r12]
sub rcx, rbx
add rcx, r12
call fcn.1401fc480
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 0x14003e45d
cmp dword [rbp - 1], 0
jle 0x14003e73b
lea rcx, [rbp - 0x41]
call fcn.14003e8d0
mov esi, dword [rbp - 9]
jmp case.0x14003e414.69
test esi, esi
jle case.0x14003e414.69
mov r14d, dword [rbp - 1]
cmp esi, r14d
jge 0x14003e238
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 0x14003e460
inc esi
jmp 0x14003e45d
mov r8d, 1
lea rdx, [rbp + 0x5f]
mov ebx, dword [rbp - 0x41]
mov ecx, ebx
call fcn.14020c6b4
cmp eax, r13d
je case.0x14003e414.69
mov r8d, 1
lea rdx, [rbp + 0x60]
mov ecx, ebx
call fcn.14020c6b4
cmp eax, r13d
je case.0x14003e414.69
movzx eax, byte [rbp + 0x5f]
cmp al, 0x5b
jne 0x14003e4ca
movzx ecx, byte [rbp + 0x60]
lea eax, [rcx - 0x30]
cmp al, 9
ja 0x14003e3f8
mov r8d, 1
lea rdx, [rbp + 0x61]
mov ecx, ebx
call fcn.14020c6b4
cmp eax, r13d
je case.0x14003e414.69
cmp byte [rbp + 0x61], 0x7e
jne case.0x14003e414.69
cmp byte [rbp + 0x60], 0x33
jne case.0x14003e414.69
lea rcx, [rbp - 0x41]
call fcn.14003e8d0
mov esi, dword [rbp - 9]
jmp case.0x14003e414.69
movsx eax, cl
add eax, 0xffffffbf
cmp eax, 7
ja case.0x14003e414.69
cdqe
mov ecx, dword [r14 + rax*4 + 0x3e8b0]
add rcx, r14
jmp rcx
mov edx, 1
lea rcx, [rbp - 0x41]
call fcn.14003e980
mov esi, dword [rbp - 9]
jmp case.0x14003e414.69
xor edx, edx
lea rcx, [rbp - 0x41]
call fcn.14003e980
mov esi, dword [rbp - 9]
jmp case.0x14003e414.69
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x14003e238
mov r8d, esi
mov edx, r14d
mov rcx, qword [rbp - 0x39]
call fcn.14003fdb0
add esi, eax
mov dword [rbp - 9], esi
cmp byte [0x14035b225], 0
jne 0x14003e556
lea rcx, [rbp - 0x41]
call fcn.14003f350
mov esi, dword [rbp - 9]
jmp 0x14003e238
test esi, esi
jle case.0x14003e414.69
mov edx, esi
mov rcx, qword [rbp - 0x39]
call fcn.14003ff50
sub esi, eax
mov dword [rbp - 9], esi
jmp 0x14003e57d
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x14003e238
mov dword [rbp - 9], r14d
cmp byte [0x14035b225], 0
jne 0x14003e556
lea rcx, [rbp - 0x41]
call fcn.14003f350
mov esi, dword [rbp - 9]
jmp 0x14003e238
cmp al, 0x4f
jne case.0x14003e414.69
movzx eax, byte [rbp + 0x60]
cmp al, 0x46
je 0x14003e503
cmp al, 0x48
jne case.0x14003e414.69
test esi, esi
je case.0x14003e414.69
mov dword [rbp - 9], 0
jmp 0x14003e57d
call fcn.14003f350
mov esi, dword [rbp - 9]
jmp case.0x14003e414.69
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x14003e238
mov dword [rbp - 9], r14d
jmp 0x14003e460
mov byte [rdi], 0
mov dword [rbp - 1], 0
mov dword [rbp - 9], 0
jmp 0x14003e57d
movsxd rax, esi
mov byte [rax + rdi], 0
mov dword [rbp - 1], esi
jmp 0x14003e57d
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x14003e238
mov dword [rbp - 9], r14d
cmp byte [0x14035b225], 0
je 0x14003e46d
lea rcx, [rbp - 0x41]
call fcn.14003ed40
mov esi, dword [rbp - 9]
jmp 0x14003e238
mov r8d, 7
lea rdx, str.e_He_2J
lea ecx, [r8 - 6]
call fcn.1400400b0
lea rcx, [rbp - 0x41]
cmp byte [0x14035b225], 0
je 0x14003e4f6
call fcn.14003ed40
mov esi, dword [rbp - 9]
jmp case.0x14003e414.69
movsxd r11, esi
mov edx, r11d
mov r9d, r11d
mov r8d, r11d
test esi, esi
jle 0x14003e5e2
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 0x14003e5df
mov edx, r10d
mov esi, r10d
mov eax, r10d
mov r9d, r10d
mov ecx, r10d
mov r8d, r10d
test r10d, r10d
jg 0x14003e5b1
mov dword [rbp - 9], esi
test edx, edx
jle 0x14003e612
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 0x14003e60f
mov r9d, edx
mov esi, edx
mov r8d, edx
test edx, edx
jg 0x14003e5f0
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.1401fc480
lea eax, [rbx + rsi]
mov dword [rbp - 1], eax
jmp 0x14003e57d
mov r14d, dword [rbp - 1]
cmp r14d, dword [rbp - 0x31]
jge 0x14003e238
mov r12, qword [rbp - 0x39]
cmp r14d, esi
jne 0x14003e6c1
movsxd r8, r15d
movsxd rcx, esi
add rcx, r12
lea rdx, [rbp + 0x67]
call fcn.1401fc480
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 [0x14035b225], 0
jne 0x14003e556
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 0x10
cmovae rcx, qword [rbp - 0x29]
mov edx, dword [rbp - 0x19]
call fcn.14003f970
mov ebx, eax
mov edx, r14d
mov rcx, r12
call fcn.14003f970
add ebx, eax
cmp ebx, dword [rbp + 3]
jge 0x14003e46d
mov r8d, r15d
lea rdx, [rbp + 0x67]
jmp 0x14003e227
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.1401fc480
mov r8, rbx
lea rdx, [rbp + 0x67]
mov rcx, rdi
call fcn.1401fc480
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 [0x14035b225], 0
je 0x14003e72a
call fcn.14003ed40
mov esi, dword [rbp - 9]
mov rdi, qword [rbp + 0x6f]
jmp 0x14003e238
call fcn.14003f350
mov esi, dword [rbp - 9]
mov rdi, qword [rbp + 0x6f]
jmp 0x14003e238
lea rcx, [0x14035b228]
call fcn.14003ecc0
jmp 0x14003e788
mov rax, qword [0x14035b230]
cmp qword [0x14035b228], rax
je 0x14003e765
lea rcx, [0x14035b228]
call fcn.14003ecc0
cmp byte [0x14035b225], 0
je 0x14003e784
mov r14d, dword [rbp - 1]
cmp esi, r14d
je 0x14003e784
mov dword [rbp - 9], r14d
lea rcx, [rbp - 0x41]
call fcn.14003ed40
mov r13d, dword [rbp - 1]
mov rdx, qword [rbp - 0x11]
cmp rdx, 0x10
jb 0x14003e7bf
inc rdx
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14003e7ba
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14003e7e4
call fcn.1401de460
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.140205c38
nop
mov dword [rax], ntohl
jmp 0x14003e788
call fcn.140205adc
int3