Function at 0x180061cb0
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push r12
sub rsp, 0x40
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x78], rbp
mov rsi, rdx
mov rdi, rcx
cmp dword [rcx + 0x38], 8
jne 0x180061ced
mov dword [rcx + 0x34], 0x2c
mov dword [rcx + 0x28], 0x930
xor eax, eax
jmp 0x1800620c1
lea rdx, [0x1801171e8]
mov ecx, 0xa290
call fcn.180077024
mov rbx, rax
mov qword [rsp + 0x60], rax
test rax, rax
jne 0x180061d15
mov eax, 0x8007000e
jmp 0x1800620c1
xor edx, edx
mov r8d, 0xa290
mov rcx, rax
call fcn.1800795c0
mov r11, qword [rdi + 0x20]
xor r12d, r12d
test r11, r11
je 0x180061dbd
mov ebp, 0xa290
mov edx, dword [rdi + 0x34]
mov rcx, qword [r11 + 0x188]
cmp rdx, rcx
jae 0x180061dab
lea rax, [rdx + 0xa290]
cmp rax, rcx
jbe 0x180061d59
mov ebp, ecx
sub ebp, edx
lea rcx, [r11 + 0xf0]
mov rax, qword [rcx]
mov qword [rsp + 0x28], r11
lea r8, [0x1800132f0]
mov qword [rsp + 0x20], r8
mov r9d, ebp
mov r8, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov esi, eax
test eax, eax
js 0x180061d9c
cmp eax, 1
jne 0x180061d8e
cmp eax, eax
je 0x180061d9c
jmp 0x180061dab
cmp ebp, 0xa290
je 0x180061e42
jmp 0x180061dab
mov rcx, rbx
call fcn.18007702c
mov eax, esi
jmp 0x1800620c1
mov rcx, rbx
call fcn.18007702c
mov eax, 0xe00e1001
jmp 0x1800620c1
mov edx, dword [rdi + 0x34]
mov qword [rsp + 0x70], rdx
xor r9d, r9d
lea r8, [rsp + 0x70]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
jne 0x180061df0
call fcn.180003220
mov edi, eax
mov rcx, rbx
call fcn.18007702c
mov eax, edi
jmp 0x1800620c1
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x60]
mov r8d, 0xa290
mov rdx, rbx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x180061e26
call fcn.180003220
mov edi, eax
mov rcx, rbx
call fcn.18007702c
mov eax, edi
jmp 0x1800620c1
cmp dword [rsp + 0x60], 0xa290
je 0x180061e42
mov rcx, rbx
call fcn.18007702c
mov eax, 0xe00e1001
jmp 0x1800620c1
lea r9, [0x1800f470c]
mov edx, dword [rbx + 0x8001]
cmp edx, dword [r9]
jne 0x180061e65
mov dl, byte [rbx + 0x8005]
cmp dl, byte [r9 + 4]
jne 0x180061e65
mov eax, r12d
jmp 0x180061e6a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1800620a5
mov edx, 0x8001
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x1800620a5
mov edx, dword [rbx + 0x9311]
cmp edx, dword [r9]
jne 0x180061ea3
mov dl, byte [rbx + 0x9315]
cmp dl, byte [r9 + 4]
jne 0x180061ea3
mov eax, r12d
jmp 0x180061ea8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18006208e
mov edx, 0x9311
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18006208e
mov edx, dword [rbx + 0x9319]
cmp edx, dword [r9]
jne 0x180061ee1
mov dl, byte [rbx + 0x931d]
cmp dl, byte [r9 + 4]
jne 0x180061ee1
mov eax, r12d
jmp 0x180061ee6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x180062077
mov edx, 0x9319
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x180062077
mov edx, dword [rbx + 0x9911]
cmp edx, dword [r9]
jne 0x180061f1f
mov dl, byte [rbx + 0x9915]
cmp dl, byte [r9 + 4]
jne 0x180061f1f
mov eax, r12d
jmp 0x180061f24
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x180062060
mov edx, 0x9911
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x180062060
mov edx, dword [rbx + 0x9919]
cmp edx, dword [r9]
jne 0x180061f5d
mov dl, byte [rbx + 0x991d]
cmp dl, byte [r9 + 4]
jne 0x180061f5d
mov eax, r12d
jmp 0x180061f62
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x180062049
mov edx, 0x9919
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x180062049
mov edx, dword [rbx + 0x9209]
cmp edx, dword [r9]
jne 0x180061f9b
mov dl, byte [rbx + 0x920d]
cmp dl, byte [r9 + 4]
jne 0x180061f9b
mov eax, r12d
jmp 0x180061fa0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x180062032
mov edx, 0x9209
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x180062032
mov ecx, dword [rbx + 0x9201]
cmp ecx, dword [r9]
jne 0x180061fd5
mov cl, byte [rbx + 0x9205]
cmp cl, byte [r9 + 4]
jne 0x180061fd5
mov eax, r12d
jmp 0x180061fda
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x18006201b
mov edx, 0x9201
mov rcx, rbx
call fcn.180061c70
test eax, eax
jne 0x18006201b
cmp dword [rdi + 0x38], 4
jne 0x180062005
mov dword [rdi + 0x28], 0x930
mov dword [rdi + 0x2c], r12d
jmp 0x1800620b7
mov dword [rdi + 0x38], r12d
mov rcx, rbx
call fcn.18007702c
mov eax, 0xe00e1001
jmp 0x1800620c1
mov dword [rdi + 0x28], 0x920
mov dword [rdi + 0x2c], r12d
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x1800620b7
mov dword [rdi + 0x28], 0x920
mov dword [rdi + 0x2c], 8
mov dword [rdi + 0x30], 0x18
jmp 0x1800620b7
mov dword [rdi + 0x28], 0x990
mov dword [rdi + 0x2c], 0x18
mov dword [rdi + 0x30], 0x18
jmp 0x1800620b7
mov dword [rdi + 0x28], 0x990
mov dword [rdi + 0x2c], reloc.WS2_32.dll_recv
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x1800620b7
mov dword [rdi + 0x28], 0x930
mov dword [rdi + 0x2c], 0x18
mov dword [rdi + 0x30], 0x18
jmp 0x1800620b7
mov dword [rdi + 0x28], 0x930
mov dword [rdi + 0x2c], reloc.WS2_32.dll_recv
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x1800620b7
mov dword [rdi + 0x28], 0x800
mov dword [rdi + 0x2c], r12d
mov dword [rdi + 0x30], 0x18
mov rcx, rbx
call fcn.18007702c
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r12
pop rdi
pop rsi
ret