Function at 0x403254
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x818
lea rbp, [rsp + 0x70]
and rbp, 0xffffffffffffffe0
mov rdi, rcx
lea rcx, str._ExtractArchive__Extracting_archive__s_into__s_n
mov rsi, r9
mov r14, r8
mov r12, rdx
call fcn.00409ce0
lea rdx, [0x0043c288]
mov rcx, r12
call fcn.00417650
test rax, rax
mov rbx, rax
jne 0x4032c6
lea rcx, str._ExtractArchive__Failed_to_extract_archive___couldnt_open_file__s_n
mov rdx, r12
call fcn.00409ce0
lea ecx, [rbx + 1]
call fcn.00416440
int3
mov dword [rbp], 0xffffffff
mov qword [rbp + 8], 0
lea rax, [rbp + 8]
mov qword [rsp + 0x30], rsi
mov r9, rbx
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov r8, r14
mov rdx, rdi
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.00402cb8
test eax, eax
je 0x4032d5
lea rcx, str._ExtractArchive__Done_extracting_archive._n
call fcn.00409ce0
mov rcx, rbx
call fcn.0041a4e0
mov edi, dword [rbp]
cmp edi, 0xffffffff
je 0x4036eb
lea rcx, str._ExtractArchive__Pre_Alloc_n
call fcn.00409ce0
mov ecx, 0xc350
call fcn.00414e40
lea rcx, str._ExtractArchive__Post_Alloc_n
mov r15, rax
call fcn.00409ce0
lea rdx, [0x0043c288]
mov rcx, r12
call fcn.00417650
test rax, rax
mov rsi, rax
jne 0x403374
lea rcx, str._ExtractArchive__Failed_to_extract_archive___couldnt_open_file__s_n
mov rdx, r12
call fcn.00409ce0
lea ecx, [rsi + 1]
call fcn.00416440
int3
xor r8d, r8d
mov edx, edi
mov rcx, rax
call fcn.00419e30
mov ebx, 0x28
lea rdx, str.Signature_Check_File_Type
mov r8d, ebx
mov rcx, rsi
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rdx, str.Signature_Check_ASB_name
mov r8d, 0x400
mov rcx, rsi
call fcn.00409394
lea rdx, str.jwArcSpBlock_DigitalSignature1
mov rcx, rax
call fcn.00417fe0
test eax, eax
je 0x4033d4
lea rcx, str._ExtractArchive__Archive_INVALID.__Archive_signature_did_not_match_place_in_file__asb_name_mismatch__n
call fcn.00409ce0
lea rdx, str.ASB_Length
mov r8d, ebx
mov rcx, rsi
call fcn.00409394
mov rcx, rax
call fcn.00417300
lea rdx, str.Signature_Length
mov r8d, ebx
mov rcx, rsi
call fcn.00409394
mov rcx, rax
call fcn.00417300
cmp edi, eax
je 0x403418
lea rcx, str._ExtractArchive__Archive_INVALID.__Archive_signature_did_not_match_place_in_file__len_mismatch__n
call fcn.00409ce0
lea rdx, str.Signature_Hex
mov r8d, 0x1000
mov rcx, rsi
call fcn.00409394
mov rcx, qword [rbp + 8]
mov rdx, rax
mov r13, rax
call fcn.00417fe0
test eax, eax
je 0x40344c
lea rcx, str._ExtractArchive__Archive_INVALID.__Archive_signature_did_not_match_place_in_file__sig_mismatch__n
call fcn.00409ce0
mov rcx, r13
call fcn.00415050
mov rbx, rax
shr rbx, 1
add ebx, 2
movsxd rcx, ebx
call fcn.00414e40
mov r8, r13
mov edx, ebx
mov rcx, rax
mov qword [rbp + 0x18], rax
call fcn.0040963c
lea rcx, str._ExtractArchive__Produced_a_signature_of_length__d_n
mov edx, eax
mov dword [rbp + 8], eax
call fcn.00409ce0
lea rcx, str._ExtractArchive__Starting_hash..._n
call fcn.00409ce0
lea rcx, str.mixed
call fcn.0040d1d0
lea rbx, [0x004483d0]
cmp eax, 0xffffffff
je 0x4034ea
lea rcx, str.sha256
call fcn.0040d1d0
cmp eax, 0xffffffff
je 0x4034ea
lea rcx, str.sha3_256
call fcn.0040d1d0
cmp eax, 0xffffffff
je 0x4034ea
lea rcx, str.mixed
call fcn.0040d2b0
lea rcx, [rbp + 0x20]
movsxd rdx, eax
shl rdx, 7
call qword [rdx + rbx + 0x58]
jmp 0x4034f6
lea rcx, str.WARNING:_Error_registering_mixed_hash
call fcn.00414f10
lea rcx, str._ExtractArchive__Seeking_to_start_of_data..._n
call fcn.00409ce0
mov rcx, rsi
call fcn.00417280
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.00419e30
lea rcx, str._ExtractArchive__fseek___Error___n
test eax, eax
jne 0x403529
lea rcx, str._ExtractArhive__At_start_of_file._n
call fcn.00409ce0
xor r13d, r13d
test edi, edi
jle 0x40359e
mov r12d, 0xc350
lea r14, [0x004483d0]
mov eax, edi
mov r9, rsi
mov edx, 1
sub eax, r13d
mov rcx, r15
cmp eax, r12d
cmovg eax, r12d
movsxd r8, eax
call fcn.00417fb0
lea rcx, str.mixed
mov rbx, rax
call fcn.0040d2b0
lea rcx, [rbp + 0x20]
movsxd r9, eax
mov r8d, ebx
mov rdx, r15
shl r9, 7
call qword [r9 + r14 + 0x60]
add r13d, ebx
cmp r13d, edi
jl 0x403542
mov r12, qword [rsp + 0x868]
mov r14, qword [rsp + 0x870]
lea rcx, str._ExtractArchive__Completed_hash_n
call fcn.00409ce0
lea rcx, str.mixed
call fcn.0040d2b0
mov ecx, 0x40
movsxd rbx, eax
call fcn.00414e40
mov r8, rbx
mov rdi, rax
mov rdx, rax
lea rax, [0x004483d0]
lea rcx, [rbp + 0x20]
shl r8, 7
call qword [r8 + rax + 0x68]
xor ebx, ebx
test eax, eax
cmove rbx, rdi
mov edi, 0x80
mov rcx, rdi
mov qword [rbp + 0x10], rbx
call fcn.00414e40
mov r8, rdi
xor edx, edx
mov rcx, rax
mov r15, rax
call fcn.00417ae0
mov rdi, r15
mov r13d, 0x20
movzx r8d, byte [rbx]
lea rdx, str._02x
mov rcx, rdi
call fcn.00415ed0
add rdi, 2
add rbx, 1
sub r13, 1
jne 0x403612
lea rcx, str._ExtractArchive__Produced_hash:__s_n
mov rdx, r15
call fcn.00409ce0
mov rcx, r15
call fcn.00414e00
mov rcx, rsi
call fcn.0041a4e0
lea rcx, str.mixed
mov dword [rbp], 0xffffffff
call fcn.0040d2b0
mov rcx, qword [rsp + 0x878]
mov r8, qword [rbp + 0x10]
mov edx, dword [rbp + 8]
mov qword [rsp + 0x40], rcx
lea rcx, [rbp]
mov qword [rsp + 0x38], rcx
mov rcx, qword [rbp + 0x18]
mov dword [rsp + 0x30], 0x40
mov dword [rsp + 0x28], eax
lea r9d, [r13 + 0x40]
mov dword [rsp + 0x20], 3
call fcn.0040cd00
test eax, eax
je 0x403709
lea rcx, str.ERROR___signature_verification_failed._n
call fcn.00414f10
lea rcx, [0x0043d640]
call fcn.00409ce0
lea rcx, str._ExtractArchive__ERROR___unable_to_verify_signature_of_hash_of_archive._n
call fcn.00409ce0
lea rcx, str._ExtractArchive__JWrapper_will_disregard_this_update._n
call fcn.00409ce0
mov rcx, r14
call fcn.004096c4
lea rcx, [0x0043d640]
call fcn.00409ce0
mov rcx, r12
call fcn.004174c0
xor eax, eax
add rsp, 0x818
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
cmp dword [rbp], 1
sete al
test al, al
je 0x4036b3
lea rcx, str._ExtractArchive__Archive_signature_verified._n
jmp 0x4036e6