Function at 0x42a63e
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
sub rsp, 0x1d8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x170], rcx
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x100], 0
mov eax, dword [0x004a8378]
test eax, eax
jne 0x42a6e1
mov eax, dword [0x004a837c]
test eax, eax
jne 0x42a6e1
mov eax, dword [0x004a83a8]
test eax, eax
jne 0x42a6e1
mov eax, 1
jmp 0x42c04c
mov rax, qword [0x004a81e0]
test rax, rax
je 0x42a945
mov eax, dword [0x004a83a8]
test eax, eax
jne 0x42a727
mov eax, dword [0x004a8398]
test eax, eax
je 0x42a945
mov eax, dword [0x004a837c]
test eax, eax
jne 0x42a945
mov rax, qword [0x004a8060]
test rax, rax
je 0x42a945
mov dword [rbp + 0xfc], 4
mov rax, qword [rbp + 0x170]
movzx eax, word [rax + 0x4a]
cmp ax, 0x9026
je 0x42a764
mov rax, qword [rbp + 0x170]
movzx eax, word [rax + 0x4a]
cmp ax, 0x16
je 0x42a764
mov rax, qword [rbp + 0x170]
movzx eax, word [rax + 0x4a]
cmp ax, 0xa390
jne 0x42a77d
mov rax, qword [rbp + 0x170]
movzx eax, byte [rax + 0x1c]
cmp al, 2
jne 0x42a77d
mov dword [rbp + 0xfc], 8
mov rax, qword [0x004a81e0]
mov r8d, 0x10
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041b0d1
mov edx, eax
mov eax, dword [0x004a8040]
add eax, edx
mov edx, eax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 8]
mov r8d, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
je 0x42a7d3
lea rcx, str.Unable_to_seek_to_start_of_dynamic_information_n
call fcn.0045d76f
jmp 0x42a8d3
mov rax, qword [rbp + 0x170]
mov rcx, qword [rax + 8]
mov edx, dword [rbp + 0xfc]
lea rax, [rbp - 8]
mov r9, rcx
mov r8d, 1
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
je 0x42a810
lea rcx, str.Failed_to_read_in_number_of_buckets_n
call fcn.0045d76f
jmp 0x42a8d3
mov rax, qword [rbp + 0x170]
mov rcx, qword [rax + 8]
mov edx, dword [rbp + 0xfc]
lea rax, [rbp - 0x10]
mov r9, rcx
mov r8d, 1
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
je 0x42a84d
lea rcx, str.Failed_to_read_in_number_of_chains_n
call fcn.0045d76f
jmp 0x42a8d3
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov edx, dword [rbp + 0xfc]
lea rcx, [rbp - 8]
call rax
mov qword [rbp + 0x140], rax
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
mov edx, dword [rbp + 0xfc]
lea rcx, [rbp - 0x10]
call rax
mov qword [rbp + 0x138], rax
mov edx, dword [rbp + 0xfc]
mov rax, qword [rbp + 0x140]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.00429cd1
mov qword [rbp + 0x130], rax
mov edx, dword [rbp + 0xfc]
mov rax, qword [rbp + 0x138]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.00429cd1
mov qword [rbp + 0x128], rax
cmp qword [rbp + 0x130], 0
je 0x42a8e7
cmp qword [rbp + 0x128], 0
jne 0x42a945
mov eax, dword [0x004a8398]
test eax, eax
je 0x42a8fb
mov eax, 0
jmp 0x42c04c
mov rax, qword [rbp + 0x130]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x128]
mov rcx, rax
call sub.msvcrt.dll_free
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x138], 0
mov rax, qword [0x004a82c0]
test rax, rax
je 0x42ae06
mov eax, dword [0x004a83a8]
test eax, eax
jne 0x42a98b
mov eax, dword [0x004a8398]
test eax, eax
je 0x42ae06
mov eax, dword [0x004a837c]
test eax, eax
jne 0x42ae06
mov rax, qword [0x004a8060]
test rax, rax
je 0x42ae06
mov eax, 0xffffffff
mov qword [rbp + 0xe8], rax
mov rax, qword [0x004a82c0]
mov r8d, 0x10
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041b0d1
mov edx, eax
mov eax, dword [0x004a8040]
add eax, edx
mov edx, eax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 8]
mov r8d, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
je 0x42a9ed
lea rcx, str.Unable_to_seek_to_start_of_dynamic_information_n
call fcn.0045d76f
jmp 0x42adc3
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x20]
mov r9, rdx
mov r8d, 1
mov edx, 0x10
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
je 0x42aa29
lea rcx, str.Failed_to_read_in_number_of_buckets_n
call fcn.0045d76f
jmp 0x42adc3
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rcx, [rbp - 0x20]
mov edx, 4
call rax
mov qword [rbp + 0x120], rax
mov rax, qword [0x004a2e00]
mov r8, qword [rax]
lea rax, [rbp - 0x20]
add rax, 4
mov edx, 4
mov rcx, rax
call r8
mov qword [rbp + 0x108], rax
mov rax, qword [0x004a2e00]
mov r8, qword [rax]
lea rax, [rbp - 0x20]
add rax, 8
mov edx, 4
mov rcx, rax
call r8
mov qword [rbp + 0x50], rax
mov rax, qword [0x004a82c0]
add rax, 0x10
mov qword [rbp + 0xe0], rax
mov eax, dword [0x004a83bc]
test eax, eax
je 0x42aab7
mov rax, qword [rbp + 0x50]
shl rax, 2
add qword [rbp + 0xe0], rax
jmp 0x42aac6
mov rax, qword [rbp + 0x50]
shl rax, 3
add qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
mov r8d, 4
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041b0d1
mov edx, eax
mov eax, dword [0x004a8040]
add eax, edx
mov edx, eax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 8]
mov r8d, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
je 0x42ab1c
lea rcx, str.Unable_to_seek_to_start_of_dynamic_information_n
call fcn.0045d76f
jmp 0x42adc3
mov rax, qword [rbp + 0x120]
mov r8d, 4
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.00429cd1
mov qword [rbp + 0x118], rax
cmp qword [rbp + 0x118], 0
je 0x42adbc
mov qword [rbp + 0xf0], 0
jmp 0x42ac0f
mov rax, qword [rbp + 0xf0]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
test rax, rax
je 0x42ac07
mov rax, qword [rbp + 0xf0]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
cmp qword [rbp + 0x108], rax
jbe 0x42abb1
mov eax, 0
jmp 0x42c04c
mov eax, 0xffffffff
cmp qword [rbp + 0xe8], rax
je 0x42abe4
mov rax, qword [rbp + 0xf0]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
cmp qword [rbp + 0xe8], rax
jae 0x42ac07
mov rax, qword [rbp + 0xf0]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0xe8], rax
add qword [rbp + 0xf0], 1
mov rax, qword [rbp + 0xf0]
cmp rax, qword [rbp + 0x120]
jb 0x42ab5d
mov eax, 0xffffffff
cmp qword [rbp + 0xe8], rax
je 0x42adbf
mov rax, qword [rbp + 0x108]
sub qword [rbp + 0xe8], rax
mov rdx, qword [rbp + 0x120]
mov rax, qword [rbp + 0xe8]
add rax, rdx
lea rdx, [rax*4]
mov rax, qword [rbp + 0xe0]
add rax, rdx
mov r8d, 4
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041b0d1
mov edx, eax
mov eax, dword [0x004a8040]
add eax, edx
mov edx, eax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 8]
mov r8d, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
je 0x42acb5
lea rcx, str.Unable_to_seek_to_start_of_dynamic_information_n
call fcn.0045d76f
jmp 0x42adc3
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax + 8]
lea rax, [rbp - 0x20]
mov r9, rdx
mov r8d, 1
mov edx, 4
mov rcx, rax
call sub.msvcrt.dll_fread
cmp rax, 1
je 0x42acf1
lea rcx, str.Failed_to_determine_last_chain_length_n
call fcn.0045d76f
jmp 0x42adc3
cmp qword [rbp + 0xe8], 0xffffffffffffffff
je 0x42adc2
add qword [rbp + 0xe8], 1
mov rax, qword [0x004a2e00]
mov rax, qword [rax]
lea rcx, [rbp - 0x20]
mov edx, 4
call rax
and eax, 1
test rax, rax
je 0x42acb5
mov rax, qword [rbp + 0x120]
lea rdx, [rax*4]
mov rax, qword [rbp + 0xe0]
add rax, rdx
mov r8d, 4
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041b0d1
mov edx, eax
mov eax, dword [0x004a8040]
add eax, edx
mov edx, eax
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 8]
mov r8d, 0
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
je 0x42ad89
lea rcx, str.Unable_to_seek_to_start_of_dynamic_information_n
call fcn.0045d76f
jmp 0x42adc3
mov rax, qword [rbp + 0xe8]
mov r8d, 4
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.00429cd1
mov qword [rbp + 0x110], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x100], rax
jmp 0x42adc3
nop
jmp 0x42adc3
nop
jmp 0x42adc3
nop
cmp qword [rbp + 0x110], 0
jne 0x42ae06
mov rax, qword [rbp + 0x118]
mov rcx, rax
call sub.msvcrt.dll_free
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x120], 0
mov eax, dword [0x004a8398]
test eax, eax
je 0x42ae06
mov eax, 0
jmp 0x42c04c
mov rax, qword [0x004a81e0]
test rax, rax
jne 0x42ae22
mov rax, qword [0x004a82c0]
test rax, rax
je 0x42b0f0
mov eax, dword [0x004a8378]
test eax, eax
je 0x42b0f0
mov eax, dword [0x004a8398]
test eax, eax
je 0x42b0f0
mov rax, qword [0x004a8060]
test rax, rax
je 0x42b0f0
mov rax, qword [0x004a8070]
test rax, rax
je 0x42b0f0
mov rax, qword [0x004a81e0]
test rax, rax
je 0x42afc1
lea rcx, str._nSymbol_table_for_image:
call sub.msvcrt.dll_puts
mov eax, dword [0x004a83bc]
test eax, eax
je 0x42ae92
lea rcx, str.__Num_Buc:____Value__Size___Type___Bind_Vis______Ndx_Name
call sub.msvcrt.dll_puts
jmp 0x42ae9e
lea rcx, str.__Num_Buc:____Value__________Size___Type___Bind_Vis______Ndx_Name
call sub.msvcrt.dll_puts
mov rax, qword [rbp + 0x138]
mov edx, 1
mov rcx, rax
call fcn.0045c4fb
mov qword [rbp + 0x48], rax
mov rdx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x48]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
mov dword [rbp + 0xdc], 0
jmp 0x42afa2
mov eax, dword [rbp + 0xdc]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x130]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
jmp 0x42af8d
mov edx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0xd0]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.00429e89
mov rax, qword [rbp + 0xd0]
cmp rax, qword [rbp + 0x138]
jae 0x42af4b
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0xd0]
add rax, rdx
movzx eax, byte [rax]
test al, al
je 0x42af59
lea rcx, str.histogram_chain_is_corrupt_n
call fcn.0045d76f
jmp 0x42af9b
mov rdx, qword [rbp + 0x48]
mov rax, qword [rbp + 0xd0]
add rax, rdx
mov byte [rax], 1
mov rax, qword [rbp + 0xd0]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x128]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
cmp qword [rbp + 0xd0], 0
jne 0x42af07
add dword [rbp + 0xdc], 1
mov eax, dword [rbp + 0xdc]
cmp qword [rbp + 0x140], rax
ja 0x42aee0
mov rax, qword [rbp + 0x48]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [0x004a82c0]
test rax, rax
je 0x42b739
lea rcx, str._nSymbol_table_of__.gnu.hash_for_image:
call sub.msvcrt.dll_puts
mov eax, dword [0x004a83bc]
test eax, eax
je 0x42aff5
lea rcx, str.__Num_Buc:____Value__Size___Type___Bind_Vis______Ndx_Name
call sub.msvcrt.dll_puts
jmp 0x42b001
lea rcx, str.__Num_Buc:____Value__________Size___Type___Bind_Vis______Ndx_Name
call sub.msvcrt.dll_puts
mov dword [rbp + 0xdc], 0
jmp 0x42b0d8
mov eax, dword [rbp + 0xdc]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
test rax, rax
je 0x42b0d1
mov eax, dword [rbp + 0xdc]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0xc8], rax
mov rax, qword [rbp + 0xc8]
sub rax, qword [rbp + 0x108]
mov qword [rbp + 0xc0], rax
mov edx, dword [rbp + 0xdc]
mov rax, qword [rbp + 0xc8]
mov r8d, edx
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.00429e89
add qword [rbp + 0xc8], 1
mov rax, qword [rbp + 0xc0]
cmp rax, qword [rbp + 0x100]
jae 0x42b0d1
mov rax, qword [rbp + 0xc0]
lea rdx, [rax + 1]
mov qword [rbp + 0xc0], rdx
lea rdx, [rax*8]
mov rax, qword [rbp + 0x110]
add rax, rdx
mov rax, qword [rax]
and eax, 1
test rax, rax
je 0x42b06b
add dword [rbp + 0xdc], 1
mov eax, dword [rbp + 0xdc]
cmp qword [rbp + 0x120], rax
ja 0x42b010
jmp 0x42b739
mov eax, dword [0x004a837c]
test eax, eax
jne 0x42b116
mov eax, dword [0x004a8378]
test eax, eax
je 0x42b721
mov eax, dword [0x004a8398]
test eax, eax
jne 0x42b721
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 0x68]
test rax, rax
je 0x42b721
mov dword [rbp + 0xbc], 0
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 0x68]
mov qword [rbp + 0x148], rax
jmp 0x42b709
mov qword [rbp + 0xb0], 0
mov dword [rbp + 0xac], 0
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 4]
cmp eax, 2
je 0x42b182
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 4]
cmp eax, 0xb
jne 0x42b6f6
mov eax, dword [0x004a8378]
test eax, eax
jne 0x42b19f
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 4]
cmp eax, 2
je 0x42b6f6
mov rax, qword [rbp + 0x148]
mov rax, qword [rax + 0x38]
test rax, rax
jne 0x42b1d9
mov rax, qword [rbp + 0x148]
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0040c3b9
mov rdx, rax
lea rcx, str._nSymbol_table__s_has_a_sh_entsize_of_zero__n
call sub.msvcrt.dll_printf
jmp 0x42b6fa
mov rax, qword [rbp + 0x148]
mov rax, qword [rax + 0x20]
mov rdx, qword [rbp + 0x148]
mov rbx, qword [rdx + 0x38]
mov edx, 0
div rbx
mov dword [rbp - 0x24], eax
mov ebx, dword [rbp - 0x24]
mov rax, qword [rbp + 0x148]
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0040c3b9
mov rdx, rax
mov eax, dword [rbp - 0x24]
cmp eax, 1
jne 0x42b227
lea rax, str._nSymbol_table__s_contains__lu_entry:_n
jmp 0x42b22e
lea rax, str._nSymbol_table__s_contains__lu_entries:_n
mov r8d, ebx
mov rcx, rax
call sub.msvcrt.dll_printf
mov eax, dword [0x004a83bc]
test eax, eax
je 0x42b251
lea rcx, str.___Num:____Value__Size_Type____Bind___Vis______Ndx_Name
call sub.msvcrt.dll_puts
jmp 0x42b25d
lea rcx, str.___Num:____Value__________Size_Type____Bind___Vis______Ndx_Name
call sub.msvcrt.dll_puts
mov eax, dword [0x004a83bc]
test eax, eax
je 0x42b286
lea rdx, [rbp - 0x24]
mov rax, qword [rbp + 0x148]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041b9e5
jmp 0x42b2a3
lea rdx, [rbp - 0x24]
mov rax, qword [rbp + 0x148]
mov r8, rdx
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0041bef0
mov qword [rbp + 0x40], rax
cmp qword [rbp + 0x40], 0
je 0x42b6f9
mov rax, qword [rbp + 0x148]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x170]
mov eax, dword [rax + 0x60]
cmp edx, eax
jne 0x42b2f4
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 0x78]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x170]
mov eax, dword [rax + 0x80]
mov dword [rbp + 0xac], eax
jmp 0x42b39f
mov rax, qword [rbp + 0x148]
mov edx, dword [rax + 0x28]
mov rax, qword [rbp + 0x170]
mov eax, dword [rax + 0x5c]
cmp edx, eax
jae 0x42b39f
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax + 0x68]
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 0x28]
mov ecx, eax
mov rax, rcx
shl rax, 2
add rax, rcx
shl rax, 4
add rax, rdx
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
mov rdx, qword [rbp + 0x38]
mov rdx, qword [rdx + 0x18]
mov ecx, edx
lea rdx, str.string_table
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
mov r9d, 1
mov r8d, ecx
mov rdx, qword [rbp + 0x170]
mov ecx, 0
call fcn.0040be81
mov qword [rbp + 0xb0], rax
cmp qword [rbp + 0xb0], 0
je 0x42b394
mov rax, qword [rbp + 0x38]
mov rax, qword [rax + 0x20]
jmp 0x42b399
mov eax, 0
mov dword [rbp + 0xac], eax
mov dword [rbp + 0xb8], 0
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0xa0], rax
jmp 0x42b6b6
mov eax, dword [rbp + 0xb8]
mov edx, eax
lea rcx, str._6d:
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax]
mov edx, 6
mov rcx, rax
call fcn.0040c0ea
mov ecx, 0x20
call sub.msvcrt.dll_putchar
mov rax, qword [rbp + 0xa0]
mov rax, qword [rax + 8]
mov edx, 2
mov rcx, rax
call fcn.0040c0ea
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x14]
movzx eax, al
and eax, 0xf
mov edx, eax
mov rcx, qword [rbp + 0x170]
call fcn.00429349
mov rdx, rax
lea rcx, str.___7s
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x14]
shr al, 4
movzx eax, al
mov edx, eax
mov rcx, qword [rbp + 0x170]
call fcn.00429258
mov rdx, rax
lea rcx, str.___6s
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x170]
movzx eax, byte [rax + 0x1f]
cmp al, 6
jne 0x42b497
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x15]
movzx eax, al
mov ecx, eax
call fcn.004295ae
mov rdx, rax
lea rcx, str.___7s
call sub.msvcrt.dll_printf
jmp 0x42b505
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x15]
movzx eax, al
and eax, 3
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x34]
mov ecx, eax
call fcn.0042954a
mov rdx, rax
lea rcx, str.___7s
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x15]
movzx eax, al
cmp dword [rbp + 0x34], eax
je 0x42b505
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x15]
movzx eax, al
xor eax, dword [rbp + 0x34]
mov edx, eax
mov rcx, qword [rbp + 0x170]
call fcn.00429a30
mov rdx, rax
lea rcx, [0x0048c8b7]
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax + 0x18]
mov edx, eax
mov rcx, qword [rbp + 0x170]
call fcn.00429ae8
mov rdx, rax
lea rcx, str.__4s
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax + 0x10]
cmp dword [rbp + 0xac], eax
jbe 0x42b556
mov rax, qword [rbp + 0xa0]
mov eax, dword [rax + 0x10]
mov edx, eax
mov rax, qword [rbp + 0xb0]
add rax, rdx
jmp 0x42b55d
lea rax, [0x0048487c]
mov rdx, rax
mov ecx, 0x19
call fcn.0040c1fe
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 4]
cmp eax, 0xb
sete al
movzx eax, al
mov r8d, dword [rbp + 0xac]
mov rcx, qword [rbp + 0xb0]
lea rdx, [rbp - 0x2a]
mov qword [rsp + 0x38], rdx
lea rdx, [rbp - 0x28]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rbp + 0xa0]
mov qword [rsp + 0x28], rdx
mov edx, dword [rbp + 0xb8]
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8, rcx
mov edx, eax
mov rcx, qword [rbp + 0x170]
call fcn.0042a0ce
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x28], 0
je 0x42b61c
mov eax, dword [rbp - 0x28]
test eax, eax
jne 0x42b5f8
movzx eax, word [rbp - 0x2a]
movzx edx, ax
mov rax, qword [rbp + 0x28]
mov r8d, edx
mov rdx, rax
lea rcx, str.__s___d_
call sub.msvcrt.dll_printf
jmp 0x42b61c
mov eax, dword [rbp - 0x28]
cmp eax, 1
jne 0x42b609
lea rax, [0x00484c8a]
jmp 0x42b610
lea rax, [0x00484c85]
mov rdx, qword [rbp + 0x28]
mov rcx, rax
call sub.msvcrt.dll_printf
mov ecx, 0xa
call sub.msvcrt.dll_putchar
mov rax, qword [rbp + 0xa0]
movzx eax, byte [rax + 0x14]
shr al, 4
test al, al
jne 0x42b6a7
mov rax, qword [rbp + 0x148]
mov eax, dword [rax + 0x2c]
cmp dword [rbp + 0xb8], eax
jb 0x42b6a7
mov rax, qword [rbp + 0x170]
movzx eax, word [rax + 0x4a]
cmp ax, 8
je 0x42b6a7
mov rax, qword [rbp + 0x170]
movzx eax, byte [rax + 0x1f]
cmp al, 6
je 0x42b6a7
mov rax, qword [rbp + 0x148]
mov ebx, dword [rax + 0x2c]
mov rax, qword [rbp + 0x148]
mov rdx, rax
mov rcx, qword [rbp + 0x170]
call fcn.0040c3b9
mov rdx, rax
mov eax, dword [rbp + 0xb8]
mov r9d, ebx
mov r8, rdx
mov edx, eax
lea rcx, str.local_symbol__u_found_at_index____ss_sh_info_value_of__u_n
call fcn.0045d7fb
add dword [rbp + 0xb8], 1
add qword [rbp + 0xa0], 0x20
mov eax, dword [rbp - 0x24]
cmp dword [rbp + 0xb8], eax
jb 0x42b3b9
mov rax, qword [rbp + 0x40]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x170]
mov rax, qword [rax + 0x78]
cmp qword [rbp + 0xb0], rax
je 0x42b6fa
mov rax, qword [rbp + 0xb0]
mov rcx, rax
call sub.msvcrt.dll_free
jmp 0x42b6fa
nop
jmp 0x42b6fa
nop
add dword [rbp + 0xbc], 1
add qword [rbp + 0x148], 0x50
mov rax, qword [rbp + 0x170]
mov eax, dword [rax + 0x5c]
cmp dword [rbp + 0xbc], eax
jb 0x42b14b
jmp 0x42b73a
mov eax, dword [0x004a8378]
test eax, eax
je 0x42b73a
lea rcx, str._nDynamic_symbol_information_is_not_available_for_displaying_symbols.
call sub.msvcrt.dll_puts
jmp 0x42b73a
nop
mov eax, dword [0x004a83a8]
test eax, eax
je 0x42bbed
cmp qword [rbp + 0x130], 0
je 0x42bbed
mov dword [rbp + 0x8c], 0
mov dword [rbp + 0x88], 0
mov dword [rbp + 0x84], 0
mov rax, qword [rbp + 0x140]
mov edx, eax
mov rax, qword [rbp + 0x140]
cmp eax, 1
jne 0x42b792
lea rax, str._nHistogram_for_bucket_list_length__total_of__lu_bucket_:_n
jmp 0x42b799
lea rax, str._nHistogram_for_bucket_list_length__total_of__lu_buckets_:_n
mov rcx, rax
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x140]
mov edx, 4
mov rcx, rax
call sub.msvcrt.dll_calloc
mov qword [rbp + 0x20], rax
cmp qword [rbp + 0x20], 0
jne 0x42b7d6
lea rcx, str.Out_of_memory_allocating_space_for_histogram_buckets_n
call fcn.0045d76f
mov eax, 0
jmp 0x42c04c
mov rax, qword [rbp + 0x138]
mov edx, 1
mov rcx, rax
call fcn.0045c4fb
mov qword [rbp + 0x18], rax
mov rdx, qword [rbp + 0x138]
mov rax, qword [rbp + 0x18]
mov r8, rdx
mov edx, 0
mov rcx, rax
call sub.msvcrt.dll_memset
lea rcx, str._Length__Number________of_total__Coverage_n
call sub.msvcrt.dll_printf
mov dword [rbp + 0x9c], 0
jmp 0x42b8fb
mov eax, dword [rbp + 0x9c]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x130]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0x90], rax
jmp 0x42b8e6
add dword [rbp + 0x84], 1
mov eax, dword [rbp + 0x9c]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x20]
add rax, rdx
mov edx, dword [rax]
add edx, 1
mov dword [rax], edx
mov eax, dword [rax]
cmp dword [rbp + 0x8c], eax
jae 0x42b87f
add dword [rbp + 0x8c], 1
mov rax, qword [rbp + 0x90]
cmp rax, qword [rbp + 0x138]
jae 0x42b8a4
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x90]
add rax, rdx
movzx eax, byte [rax]
test al, al
je 0x42b8b2
lea rcx, str.histogram_chain_is_corrupt_n
call fcn.0045d76f
jmp 0x42b8f4
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x90]
add rax, rdx
mov byte [rax], 1
mov rax, qword [rbp + 0x90]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x128]
add rax, rdx
mov rax, qword [rax]
mov qword [rbp + 0x90], rax
cmp qword [rbp + 0x90], 0
jne 0x42b84b
add dword [rbp + 0x9c], 1
mov eax, dword [rbp + 0x9c]
cmp qword [rbp + 0x140], rax
ja 0x42b824
mov rax, qword [rbp + 0x18]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, dword [rbp + 0x8c]
add eax, 1
mov eax, eax
mov edx, 4
mov rcx, rax
call sub.msvcrt.dll_calloc
mov qword [rbp + 0x10], rax
cmp qword [rbp + 0x10], 0
jne 0x42b95f
mov rax, qword [rbp + 0x20]
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, str.Out_of_memory_allocating_space_for_histogram_counts_n
call fcn.0045d76f
mov eax, 0
jmp 0x42c04c
mov dword [rbp + 0x9c], 0
jmp 0x42b9a1
mov eax, dword [rbp + 0x9c]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x20]
add rax, rdx
mov eax, dword [rax]
mov eax, eax
lea rdx, [rax*4]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
add edx, 1
mov dword [rax], edx
add dword [rbp + 0x9c], 1
mov eax, dword [rbp + 0x9c]
cmp qword [rbp + 0x140], rax
ja 0x42b96b
cmp qword [rbp + 0x140], 0
je 0x42bbd5
mov rax, qword [rbp + 0x10]
mov eax, dword [rax]
mov eax, eax
test rax, rax
js 0x42b9d2
cvtsi2sd xmm0, rax
jmp 0x42b9e7
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [0x004924c8]
mulsd xmm1, xmm0
mov rax, qword [rbp + 0x140]
test rax, rax
js 0x42ba06
cvtsi2sd xmm0, rax
jmp 0x42ba1b
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
divsd xmm1, xmm0
movapd xmm0, xmm1
mov rax, qword [rbp + 0x10]
mov eax, dword [rax]
movq rdx, xmm0
mov rcx, rdx
mov qword [rbp - 0x38], rcx
movsd xmm1, qword [rbp - 0x38]
mov qword [rbp - 0x38], rdx
movsd xmm0, qword [rbp - 0x38]
movapd xmm2, xmm1
movq r8, xmm0
mov edx, eax
lea rcx, str.______0____10lu___5.1f____n
call sub.msvcrt.dll_printf
mov dword [rbp + 0x80], 1
jmp 0x42bbc3
mov eax, dword [rbp + 0x80]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov eax, dword [rax]
imul eax, dword [rbp + 0x80]
add dword [rbp + 0x88], eax
mov eax, dword [rbp + 0x88]
test rax, rax
js 0x42ba9f
cvtsi2sd xmm0, rax
jmp 0x42bab4
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [0x004924c8]
mulsd xmm1, xmm0
mov eax, dword [rbp + 0x84]
test rax, rax
js 0x42bad2
cvtsi2sd xmm0, rax
jmp 0x42bae7
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movapd xmm2, xmm1
divsd xmm2, xmm0
mov eax, dword [rbp + 0x80]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov eax, dword [rax]
mov eax, eax
test rax, rax
js 0x42bb14
cvtsi2sd xmm0, rax
jmp 0x42bb29
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [0x004924c8]
mulsd xmm1, xmm0
mov rax, qword [rbp + 0x140]
test rax, rax
js 0x42bb48
cvtsi2sd xmm0, rax
jmp 0x42bb5d
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
divsd xmm1, xmm0
movapd xmm0, xmm1
mov eax, dword [rbp + 0x80]
lea rdx, [rax*4]
mov rax, qword [rbp + 0x10]
add rax, rdx
mov edx, dword [rax]
movq rax, xmm0
mov rcx, rax
mov qword [rbp - 0x38], rcx
movsd xmm1, qword [rbp - 0x38]
mov qword [rbp - 0x38], rax
movsd xmm0, qword [rbp - 0x38]
mov eax, dword [rbp + 0x80]
movsd qword [rsp + 0x20], xmm2
movapd xmm3, xmm1
movq r9, xmm0
mov r8d, edx
mov edx, eax
lea rcx, str._7lu____10lu___5.1f________5.1f___n
call sub.msvcrt.dll_printf
add dword [rbp + 0x80], 1
mov eax, dword [rbp + 0x80]
cmp eax, dword [rbp + 0x8c]
jbe 0x42ba69
mov rax, qword [rbp + 0x10]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x20]
mov rcx, rax
call sub.msvcrt.dll_free
cmp qword [rbp + 0x130], 0
je 0x42bc15
mov rax, qword [rbp + 0x130]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x128]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, dword [0x004a83a8]
test eax, eax
je 0x42c047
cmp qword [rbp + 0x118], 0
je 0x42c047
mov dword [rbp + 0x78], 0
mov dword [rbp + 0x74], 0
mov dword [rbp + 0x70], 0
mov rax, qword [rbp + 0x120]
mov edx, eax
mov rax, qword [rbp + 0x120]
cmp eax, 1
jne 0x42bc64
lea rax, str._nHistogram_for__.gnu.hash_bucket_list_length__total_of__lu_bucket_:_n
jmp 0x42bc6b
lea rax, str._nHistogram_for__.gnu.hash_bucket_list_length__total_of__lu_buckets_:_n
mov rcx, rax
call sub.msvcrt.dll_printf
mov rax, qword [rbp + 0x120]
mov edx, 4
mov rcx, rax
call sub.msvcrt.dll_calloc
mov qword [rbp + 8], rax
cmp qword [rbp + 8], 0
jne 0x42bca8
lea rcx, str.Out_of_memory_allocating_space_for_gnu_histogram_buckets_n
call fcn.0045d76f
mov eax, 0
jmp 0x42c04c
lea rcx, str._Length__Number________of_total__Coverage_n
call sub.msvcrt.dll_printf
mov dword [rbp + 0x7c], 0
jmp 0x42bd79
mov eax, dword [rbp + 0x7c]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
test rax, rax
je 0x42bd75
mov qword [rbp + 0x60], 1
mov eax, dword [rbp + 0x7c]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x118]
add rax, rdx
mov rax, qword [rax]
sub rax, qword [rbp + 0x108]
mov qword [rbp + 0x68], rax
jmp 0x42bd18
add qword [rbp + 0x60], 1
add qword [rbp + 0x68], 1
mov rax, qword [rbp + 0x68]
cmp rax, qword [rbp + 0x100]
jae 0x42bd46
mov rax, qword [rbp + 0x68]
lea rdx, [rax*8]
mov rax, qword [rbp + 0x110]
add rax, rdx
mov rax, qword [rax]
and eax, 1
test rax, rax
je 0x42bd0e
mov eax, dword [rbp + 0x7c]
lea rdx, [rax*4]
mov rax, qword [rbp + 8]
add rax, rdx
mov rdx, qword [rbp + 0x60]
mov dword [rax], edx
mov eax, dword [rbp + 0x78]
cmp qword [rbp + 0x60], rax
jbe 0x42bd6e
mov rax, qword [rbp + 0x60]
mov dword [rbp + 0x78], eax
mov rax, qword [rbp + 0x60]
add dword [rbp + 0x70], eax
add dword [rbp + 0x7c], 1
mov eax, dword [rbp + 0x7c]
cmp qword [rbp + 0x120], rax
ja 0x42bcc0
mov eax, dword [rbp + 0x78]
add eax, 1
mov eax, eax
mov edx, 4
mov rcx, rax
call sub.msvcrt.dll_calloc
mov qword [rbp], rax
cmp qword [rbp], 0
jne 0x42bdcb
mov rax, qword [rbp + 8]
mov rcx, rax
call sub.msvcrt.dll_free
lea rcx, str.Out_of_memory_allocating_space_for_gnu_histogram_counts_n
call fcn.0045d76f
mov eax, 0
jmp 0x42c04c
mov dword [rbp + 0x7c], 0
jmp 0x42be04
mov eax, dword [rbp + 0x7c]
lea rdx, [rax*4]
mov rax, qword [rbp + 8]
add rax, rdx
mov eax, dword [rax]
mov eax, eax
lea rdx, [rax*4]
mov rax, qword [rbp]
add rax, rdx
mov edx, dword [rax]
add edx, 1
mov dword [rax], edx
add dword [rbp + 0x7c], 1
mov eax, dword [rbp + 0x7c]
cmp qword [rbp + 0x120], rax
ja 0x42bdd4
cmp qword [rbp + 0x120], 0
je 0x42c011
mov rax, qword [rbp]
mov eax, dword [rax]
mov eax, eax
test rax, rax
js 0x42be32
cvtsi2sd xmm0, rax
jmp 0x42be47
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [0x004924c8]
mulsd xmm1, xmm0
mov rax, qword [rbp + 0x120]
test rax, rax
js 0x42be66
cvtsi2sd xmm0, rax
jmp 0x42be7b
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
divsd xmm1, xmm0
movapd xmm0, xmm1
mov rax, qword [rbp]
mov eax, dword [rax]
movq rdx, xmm0
mov rcx, rdx
mov qword [rbp - 0x38], rcx
movsd xmm1, qword [rbp - 0x38]
mov qword [rbp - 0x38], rdx
movsd xmm0, qword [rbp - 0x38]
movapd xmm2, xmm1
movq r8, xmm0
mov edx, eax
lea rcx, str.______0____10lu___5.1f____n
call sub.msvcrt.dll_printf
mov dword [rbp + 0x5c], 1
jmp 0x42c005
mov eax, dword [rbp + 0x5c]
lea rdx, [rax*4]
mov rax, qword [rbp]
add rax, rdx
mov eax, dword [rax]
imul eax, dword [rbp + 0x5c]
add dword [rbp + 0x74], eax
mov eax, dword [rbp + 0x74]
test rax, rax
js 0x42bef0
cvtsi2sd xmm0, rax
jmp 0x42bf05
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [0x004924c8]
mulsd xmm1, xmm0
mov eax, dword [rbp + 0x70]
test rax, rax
js 0x42bf20
cvtsi2sd xmm0, rax
jmp 0x42bf35
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movapd xmm2, xmm1
divsd xmm2, xmm0
mov eax, dword [rbp + 0x5c]
lea rdx, [rax*4]
mov rax, qword [rbp]
add rax, rdx
mov eax, dword [rax]
mov eax, eax
test rax, rax
js 0x42bf5f
cvtsi2sd xmm0, rax
jmp 0x42bf74
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
movsd xmm1, qword [0x004924c8]
mulsd xmm1, xmm0
mov rax, qword [rbp + 0x120]
test rax, rax
js 0x42bf93
cvtsi2sd xmm0, rax
jmp 0x42bfa8
mov rdx, rax
shr rdx, 1
and eax, 1
or rdx, rax
cvtsi2sd xmm0, rdx
addsd xmm0, xmm0
divsd xmm1, xmm0
movapd xmm0, xmm1
mov eax, dword [rbp + 0x5c]
lea rdx, [rax*4]
mov rax, qword [rbp]
add rax, rdx
mov edx, dword [rax]
movq rax, xmm0
mov rcx, rax
mov qword [rbp - 0x38], rcx
movsd xmm1, qword [rbp - 0x38]
mov qword [rbp - 0x38], rax
movsd xmm0, qword [rbp - 0x38]
mov eax, dword [rbp + 0x5c]
movsd qword [rsp + 0x20], xmm2
movapd xmm3, xmm1
movq r9, xmm0
mov r8d, edx
mov edx, eax
lea rcx, str._7lu____10lu___5.1f________5.1f___n
call sub.msvcrt.dll_printf
add dword [rbp + 0x5c], 1
mov eax, dword [rbp + 0x5c]
cmp eax, dword [rbp + 0x78]
jbe 0x42bec6
mov rax, qword [rbp]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 8]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x118]
mov rcx, rax
call sub.msvcrt.dll_free
mov rax, qword [rbp + 0x110]
mov rcx, rax
call sub.msvcrt.dll_free
mov eax, 1
add rsp, 0x1d8
pop rbx
pop rbp
ret