Function at 0x1800420c0
Capabilities:
Read file on windows

Disassembly:
push rbx
sub rsp, 0x40
mov rbx, r9
mov r11, r8
mov r10, rcx
test rdx, rdx
je 0x180042261
mov r8d, dword [rdx + 8]
test r8d, r8d
je 0x1800420ef
test r11, r11
je 0x180042261
test r8d, r8d
jne 0x180042101
test rbx, rbx
je 0x1800420f9
xor eax, eax
mov dword [r9], eax
xor eax, eax
add rsp, 0x40
pop rbx
ret
cmp dword [rcx + 0x364], 0
jne 0x18004211f
test rbx, rbx
je 0x180042114
xor eax, eax
mov dword [r9], eax
mov eax, 0x80004005
add rsp, 0x40
pop rbx
ret
mov eax, dword [rcx + 0x38]
cmp eax, 5
jne 0x180042134
mov r8, r11
add rsp, 0x40
pop rbx
jmp 0x180044870
cmp eax, 6
jne 0x1800421c1
test r11, r11
je 0x1800421b4
mov rcx, qword [rcx + 0x398]
test rcx, rcx
jne 0x18004215b
mov ecx, 0x80004005
mov eax, ecx
add rsp, 0x40
pop rbx
ret
xor eax, eax
imul r8d, r8d, 0x930
mov dword [rsp + 0x58], eax
mov r9, r11
mov rax, qword [rdx]
cqo
and edx, 0x7ff
add rax, rdx
sar rax, 0xb
imul rdx, rax, 0x930
lea rax, [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.180048300
mov ecx, eax
test eax, eax
jne 0x1800421b9
test rbx, rbx
je 0x1800421b9
mov eax, 0xdee95c4d
mul dword [rsp + 0x58]
mov eax, ecx
shr edx, 0xb
mov dword [rbx], edx
add rsp, 0x40
pop rbx
ret
mov ecx, 0x80070057
mov eax, ecx
add rsp, 0x40
pop rbx
ret
cmp eax, 7
jne 0x1800421d3
mov r8, r11
add rsp, 0x40
pop rbx
jmp 0x180045220
mov eax, dword [rcx + 0x28]
cmp eax, 0x930
jb 0x180042114
jbe 0x1800421f0
mov r8, r11
add rsp, 0x40
pop rbx
jmp fcn.180042270
mov rax, qword [rdx]
cqo
imul r9d, r8d, 0x930
and edx, 0x7ff
mov r8, r11
add rax, rdx
lea rdx, [rsp + 0x30]
sar rax, 0xb
imul rcx, rax, 0x930
mov eax, dword [r10 + 0x34]
add rcx, rax
xor eax, eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x58], eax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x30], rcx
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.180040ff0
mov ecx, eax
test eax, eax
jne 0x180042259
test rbx, rbx
je 0x180042259
mov eax, 0xdee95c4d
mul dword [rsp + 0x58]
shr edx, 0xb
mov dword [rbx], edx
mov eax, ecx
add rsp, 0x40
pop rbx
ret
mov eax, 0x80070057
add rsp, 0x40
pop rbx
ret
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, r9
mov r14, r8
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x18004498d
mov eax, dword [rdx + 8]
test eax, eax
je 0x1800448a6
test r8, r8
je 0x18004498d
test eax, eax
jne 0x1800448b6
xor eax, eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rcx, qword [rcx + 0x380]
test rcx, rcx
jne 0x1800448d5
mov eax, 0x80004005
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rdx]
movsxd r8, dword [rbx + 0x390]
cqo
and edx, 0x7ff
mov qword [rsp + 0x40], rbp
add rax, rdx
sar rax, 0xb
imul rax, rax, 0x930
cqo
idiv r8
mov rbp, rax
cmp dword [rbx + 0x388], eax
je 0x180044917
mov r8, qword [rcx]
mov edx, ebp
call qword [r8 + reloc.WS2_32.dll_recv]
test eax, eax
jne 0x180044943
imul eax, dword [rdi + 8], 0x930
lea r9, [rsp + 0x48]
mov rcx, qword [rbx + 0x380]
xor edx, edx
div dword [rbx + 0x390]
mov r10, qword [rcx]
mov rdx, r14
mov r8d, eax
call qword [r10 + reloc.OLEAUT32.dll_VariantClear]
test eax, eax
je 0x18004495b
mov eax, 0x80004005
mov rbp, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov edx, dword [rsp + 0x48]
lea eax, [rdx + rbp]
mov dword [rbx + 0x388], eax
test rsi, rsi
je 0x180044989
mov ecx, dword [rbx + 0x390]
mov eax, 0x6f74ae27
imul ecx, edx
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [rsi], edx
xor eax, eax
jmp 0x180044948
mov eax, 0x80070057
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r15
sub rsp, 0x20
mov rsi, r9
mov r15, r8
mov rdi, rdx
mov rbx, rcx
test rdx, rdx
je 0x180045352
mov eax, dword [rdx + 8]
test eax, eax
je 0x180045256
test r8, r8
je 0x180045352
test eax, eax
jne 0x180045266
xor eax, eax
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret
mov rcx, qword [rcx + 0x3a0]
test rcx, rcx
jne 0x180045285
mov eax, 0x80004005
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret
mov rax, qword [rdx]
movsxd r8, dword [rbx + 0x3d8]
cqo
and edx, 0x7ff
add rax, rdx
sar rax, 0xb
imul rax, rax, 0x930
cqo
idiv r8
mov edx, eax
call fcn.180081790
test eax, eax
je 0x180045272
imul eax, dword [rdi + 8], 0x930
xor edx, edx
mov qword [rsp + 0x40], rbp
mov rcx, rbx
mov qword [rsp + 0x48], r14
div dword [rbx + 0x3e0]
mov ebp, eax
lea edx, [rax*4]
call fcn.180045710
mov r14, rax
test rax, rax
jne 0x180045304
mov eax, 0x8007000e
mov rbp, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret
mov rcx, qword [rbx + 0x3a0]
mov eax, ebp
cdq
idiv dword [rbx + 0x3dc]
mov rdx, r14
mov r8d, eax
call fcn.180082230
test eax, eax
jne 0x18004532a
mov eax, 0x80004005
jmp 0x1800452ec
mov r9, r15
mov r8d, ebp
mov rdx, r14
mov rcx, rbx
call fcn.180045370
test eax, eax
js 0x1800452ec
cmp eax, 1
je 0x1800452ec
test rsi, rsi
je 0x18004534e
mov eax, dword [rdi + 8]
mov dword [rsi], eax
xor eax, eax
jmp 0x1800452ec
mov eax, 0x80070057
mov rbx, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rsi
ret