Function at 0x18002d9f0
Capabilities:
Get file size
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x580]
sub rsp, 0x680
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x6d8], rbx
mov rax, qword [0x18012c3a8]
xor rax, rsp
mov qword [rbp + 0x570], rax
mov r12, r8
mov r13, rdx
test rcx, rcx
jne 0x18002da3f
xor eax, eax
jmp 0x18002dd72
xor esi, esi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x58], rsi
mov dword [rsp + 0x28], 0x80
mov r8d, 0x80000000
mov rdx, rcx
lea rcx, [rsp + 0x50]
call fcn.18002dfd0
mov r15, qword [rsp + 0x50]
test eax, eax
jne 0x18002dd5b
mov dword [r13], esi
mov qword [rsp + 0x48], rsi
lea rdx, [rsp + 0x48]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x18002dd5b
cmp dword [rsp + 0x4c], esi
jne 0x18002dd5b
mov eax, dword [rsp + 0x48]
add eax, 0xfffffee2
cmp eax, 0x31ffee2
ja 0x18002dd5b
mov qword [rsp + 0x40], 0xfffffffffffffee2
lea r9d, [rsi + 2]
lea r8, [rsp + 0x44]
mov edx, 0xfffffee2
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x18002dae2
call fcn.1800213a0
test eax, eax
js 0x18002dd5b
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x40]
mov r8d, 0x11e
lea rdx, [rbp + 0x50]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18002db10
call fcn.1800213a0
test eax, eax
jmp 0x18002db18
cmp dword [rsp + 0x40], 0x11e
jne 0x18002dd5b
mov r8d, 0x16
lea rdx, str._r_n_360signdata__r_nsign
lea rcx, [rbp + 0x50]
call fcn.1800ab530
test eax, eax
jne 0x18002dd5b
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x170]
call fcn.1800abaa0
mov r9, rsi
lea r10, [rbp + 0x67]
nop word [rax + rax]
movsx eax, byte [r10 - 1]
mov edx, eax
lea ecx, [rax - 0x30]
cmp ecx, 9
ja 0x18002db73
sub al, 0x30
jmp 0x18002db8d
lea ecx, [rdx - 0x61]
cmp ecx, 5
ja 0x18002db7f
sub al, 0x57
jmp 0x18002db8d
lea ecx, [rdx - 0x41]
cmp ecx, 5
ja 0x18002db8b
sub al, 0x37
jmp 0x18002db8d
mov al, 0xff
movsx edx, byte [r10]
mov r8d, edx
lea ecx, [rdx - 0x30]
cmp ecx, 9
ja 0x18002dba1
sub dl, 0x30
jmp 0x18002dbbf
lea ecx, [r8 - 0x61]
cmp ecx, 5
ja 0x18002dbaf
sub dl, 0x57
jmp 0x18002dbbf
lea ecx, [r8 - 0x41]
cmp ecx, 5
ja 0x18002dbbd
sub dl, 0x37
jmp 0x18002dbbf
mov dl, 0xff
cmp al, 0xff
je 0x18002dbe9
cmp dl, 0xff
je 0x18002dbe9
shl al, 4
or al, dl
mov byte [rbp + r9 + 0x170], al
inc r9
add r10, 2
cmp r9, 0x84
jl 0x18002db60
mov edi, dword [rsp + 0x48]
add edi, 0xffffff00
mov qword [rsp + 0x60], rsi
xor r9d, r9d
lea r8, [rsp + 0x64]
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
cmp eax, 0xffffffff
jne 0x18002dc1d
call fcn.1800213a0
test eax, eax
js 0x18002dd5b
mov r14d, edi
mov ecx, edi
call fcn.18008fb6c
mov rbx, rax
test rax, rax
je 0x18002dd59
xor eax, eax
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x40]
mov r8d, edi
mov rdx, rbx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x18002dc5f
call fcn.1800213a0
test eax, eax
jmp 0x18002dc63
cmp dword [rsp + 0x40], edi
jne 0x18002dcf0
lea rcx, [rbp - 0x80]
call fcn.18002de60
nop
lea rcx, [rbp - 0x20]
call fcn.180072c00
mov r8, r14
mov rdx, rbx
lea rcx, [rbp - 0x20]
call fcn.180072c50
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x40]
call fcn.180072a90
nop
lea rax, vtable.ATL::CComObjectStack_class_CRapidDigest_.1.0
mov qword [rbp - 0x80], rax
lea rax, vtable.ATL::CComObjectStack_class_CRapidDigest_.0
mov qword [rbp - 0x78], rax
lea rax, vtable.CRapidDigest.0
mov qword [rbp - 0x80], rax
lea rax, vtable.CRapidDigest.1.0
mov qword [rbp - 0x78], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x68], rax
cmp byte [rbp - 0x40], 0
je 0x18002dceb
mov byte [rbp - 0x40], 0
lea rcx, [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov esi, 1
mov rcx, rbx
call fcn.18008f874
test esi, esi
je 0x18002dd59
mov edi, dword [rbp + 0x170]
cmp edi, 1
jne 0x18002dd10
lea r9, [0x1800fb3e0]
jmp 0x18002dd1b
test edi, edi
jne 0x18002dd4b
lea r9, [0x1800fb4f0]
lea rdx, [rbp + 0x174]
lea rcx, [rbp + 0x40]
call fcn.18002d650
mov ebx, eax
xor esi, esi
test eax, eax
je 0x18002dd4f
mov dword [r13], 3
test r12, r12
je 0x18002dd5d
mov dword [r12], esi
mov dword [r12 + 4], edi
jmp 0x18002dd5d
xor esi, esi
mov ebx, esi
mov dword [r13], 1
jmp 0x18002dd5d
xor esi, esi
mov ebx, esi
test r15, r15
je 0x18002dd70
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rsp + 0x50], rsi
mov eax, ebx
mov rcx, qword [rbp + 0x570]
xor rcx, rsp
call fcn.18008f850
mov rbx, qword [rsp + 0x6d8]
add rsp, 0x680
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret