Function at 0x14003c470
Capabilities:
Read file on windows

Disassembly:
push rbp
push r12
push r13
push r14
sub rsp, 0x58
mov r12, rdx
mov r13d, r9d
xor edx, edx
mov rbp, r8
mov r14, rcx
test r8, r8
jne 0x14003c4ab
mov dword [rcx + 0x10], edx
mov rax, rcx
mov dword [rcx], 1
mov qword [rcx + 8], rdx
add rsp, 0x58
pop r14
pop r13
pop r12
pop rbp
ret
mov qword [rsp + 0x80], rbx
mov rcx, rbp
mov qword [rsp + 0x90], rdi
mov edi, 2
mov r8d, edi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__ftelli64]
xor r8d, r8d
xor edx, edx
mov rcx, rbp
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__fseeki64]
test rbx, rbx
jns 0x14003c4fd
xor edx, edx
mov dword [r14], edi
mov dword [r14 + 0x10], edx
mov qword [r14 + 8], rdx
jmp 0x14003c5d6
mov rax, qword [0x1401f2328]
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x50], r15
lea r15, [rbx + 1]
mov rcx, r15
call qword [case.0x1400309a4.0]
mov rsi, rax
test rax, rax
jne 0x14003c53c
xor edx, edx
mov dword [r14], 3
mov dword [r14 + 0x10], edx
mov qword [r14 + 8], rdx
jmp 0x14003c5c9
mov r9, rbp
mov r8, rbx
mov edx, 1
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbx
je 0x14003c574
mov rax, qword [0x1401f2330]
mov rcx, rsi
call qword [case.0x1400309a4.0]
xor edx, edx
mov dword [r14], edi
mov dword [r14 + 0x10], edx
mov qword [r14 + 8], rdx
jmp 0x14003c5c9
mov eax, dword [rsp + 0xa0]
cmp eax, 8
je 0x14003c58d
cmp eax, 4
je 0x14003c58d
cmp eax, 7
jne 0x14003c5f5
lea edi, [rax - 2]
mov rdx, rbx
mov r15, rdx
mov rax, qword [rsp + 0xa8]
mov r9, rsi
mov qword [rsp + 0x48], rax
mov r8, r12
mov byte [rsp + 0x40], 1
mov rdx, r12
mov byte [rsp + 0x38], 1
mov rcx, r14
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], r13d
mov qword [rsp + 0x20], r15
call fcn.14003c210
mov rsi, qword [rsp + 0x88]
mov r15, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x80]
mov rax, r14
mov rdi, qword [rsp + 0x90]
add rsp, 0x58
pop r14
pop r13
pop r12
pop rbp
ret
test eax, eax
je 0x14003c603
mov edi, eax
mov rdx, rbx
jmp 0x14003c999
cmp rbx, 4
jb 0x14003c991
movzx r9d, byte [rsi]
mov rdx, rbx
movzx ecx, byte [rsi + 1]
movzx eax, byte [rsi + 2]
movzx r8d, byte [rsi + 3]
test r9b, r9b
jne 0x14003c66d
test cl, cl
jne 0x14003c650
cmp al, 0xfe
jne 0x14003c642
cmp r8b, 0xff
jne 0x14003c994
mov edi, 6
jmp 0x14003c999
test al, al
jne 0x14003c994
cmp r8b, 0x3c
jmp 0x14003c632
cmp cl, 0x3c
jne 0x14003c994
test al, al
jne 0x14003c6a6
cmp r8b, 0x3f
jne 0x14003c6a6
mov edi, 3
jmp 0x14003c999
cmp r9b, 0xff
jne 0x14003c697
cmp cl, 0xfe
jne 0x14003c994
test al, al
jne 0x14003c999
test r8b, r8b
jne 0x14003c999
mov edi, 5
jmp 0x14003c999
cmp r9b, 0xfe
jne 0x14003c6b0
cmp cl, 0xff
jne 0x14003c994
mov edi, 3
jmp 0x14003c999
cmp r9b, 0xef
je 0x14003c994
cmp r9b, 0x3c
jne 0x14003c994
test cl, cl
je 0x14003c67c
cmp cl, 0x3f
jne 0x14003c994
cmp al, 0x78
jne 0x14003c994
cmp r8b, 0x6d
jne 0x14003c994
cmp rbx, 6
jb 0x14003c991
xor edx, edx
cmp byte [rsi + 4], 0x6c
mov eax, edx
sete al
cmp r9b, r9b
cmove edx, eax
test edx, edx
je 0x14003c991
lfence
movzx eax, byte [rsi + 5]
lea r11, reloc.WS2_32.dll_getservbyname
test byte [rax + r11], 8
je 0x14003c991
mov edi, 6
mov rdx, rbx
cmp rbx, 7
jbe 0x14003c994
mov r8d, 1
lea rcx, [rsi + 6]
sub r8, rsi
nop
movzx eax, byte [rcx]
cmp al, 0x3f
je 0x14003c994
inc rcx
cmp al, 0x65
jne 0x14003c757
cmp byte [rcx], 0x6e
je 0x14003c768
inc rdi
lea rax, [r8 + rcx]
cmp rax, rbx
jb 0x14003c740
jmp 0x14003c994
cmp rdi, rbx
jae 0x14003c994
lea rcx, [rdi + 1]
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x6e
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x63
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x6f
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x64
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x69
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x6e
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
cmp byte [rcx + rsi], 0x67
jne 0x14003c994
inc rcx
cmp rcx, rbx
jae 0x14003c994
lfence
nop dword [rax + rax]
movzx r8d, byte [rcx + rsi]
mov rax, rbx
test byte [r8 + r11], 8
je 0x14003c83c
inc rcx
cmp rcx, rbx
jb 0x14003c820
jmp 0x14003c994
cmp r8b, 0x3d
jne 0x14003c994
inc rcx
cmp rcx, rax
jae 0x14003c868
lfence
movzx eax, byte [rcx + rsi]
test byte [rax + r11], 8
je 0x14003c936
inc rcx
cmp rcx, rdx
jb 0x14003c851
mov r9b, 0x27
cmp rcx, rdx
jae 0x14003c994
cmp byte [rcx + rsi], r9b
jne 0x14003c994
inc rcx
mov r10, rcx
lea r8, [rcx + rsi]
cmp rcx, rdx
jae 0x14003c8a3
lfence
movzx eax, byte [rcx + rsi]
test byte [rax + r11], 0x40
je 0x14003c8a3
inc rcx
cmp rcx, rdx
jb 0x14003c890
mov rax, rcx
sub rax, r10
cmp rcx, rdx
jae 0x14003c994
cmp byte [rcx + rsi], r9b
jne 0x14003c994
cmp rax, 0xa
jne 0x14003c947
movzx eax, byte [r8]
or al, 0x20
cmp al, 0x69
jne 0x14003c994
movzx eax, byte [r8 + 1]
or al, 0x20
cmp al, 0x73
jne 0x14003c994
movzx eax, byte [r8 + 2]
or al, 0x20
cmp al, 0x6f
jne 0x14003c994
cmp byte [r8 + 3], 0x2d
jne 0x14003c994
cmp byte [r8 + 4], 0x38
jne 0x14003c994
cmp byte [r8 + 5], 0x38
jne 0x14003c994
cmp byte [r8 + 6], 0x35
jne 0x14003c994
cmp byte [r8 + 7], 0x39
jne 0x14003c994
cmp byte [r8 + 8], 0x2d
jne 0x14003c994
cmp byte [r8 + 9], 0x31
jne 0x14003c994
mov edi, 9
jmp 0x14003c999
cmp al, 0x22
jne 0x14003c868
movzx r9d, al
jmp 0x14003c874
cmp rax, 6
jne 0x14003c994
movzx eax, byte [r8]
or al, 0x20
cmp al, 0x6c
jne 0x14003c994
movzx eax, byte [r8 + 1]
or al, 0x20
cmp al, 0x61
jne 0x14003c994
movzx eax, byte [r8 + 2]
or al, 0x20
cmp al, 0x74
jne 0x14003c994
movzx eax, byte [r8 + 3]
or al, 0x20
cmp al, 0x69
jne 0x14003c994
movzx eax, byte [r8 + 4]
or al, 0x20
cmp al, 0x6e
jne 0x14003c994
cmp byte [r8 + 5], 0x31
jne 0x14003c994
mov edi, 9
jmp 0x14003c999
mov rdx, rbx
mov edi, 1
cmp edi, 1
jne 0x14003c590
mov byte [rsi + rdx], 0
jmp 0x14003c593