Function at 0x405790
Capabilities:
Delete directory

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xf8
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
mov qword [rsp + 0x158], r9
call fcn.00415f40
cmp rax, 0
jle 0x405b80
mov rdx, rdi
mov rcx, rbx
call fcn.00421c40
test rax, rax
mov r15, rax
je 0x4060d0
mov ecx, dword [0x004e40fc]
cmp ecx, 0x10
ja 0x405810
mov eax, 1
shl rax, cl
test eax, 0x22a
jne 0x405be0
test eax, 0x10000
je 0x405810
or dword [r15 + 0x40], 0x8000
nop word [rax + rax]
mov eax, dword [0x004e40f8]
cmp eax, 1
je 0x405c08
cmp eax, 2
je 0x405ba4
mov edx, 2
mov rcx, r15
call fcn.0041ef20
test eax, eax
je 0x405e92
cmp qword [rsp + 0x158], 0
mov dword [rsp + 0x54], 1
je 0x4060b4
mov rdx, qword [rsp + 0x158]
mov rcx, rsi
call fcn.00421ea0
test rax, rax
mov qword [rsp + 0x48], rax
je 0x406104
cmp qword [0x004e4108], 0
je 0x405896
mov rdx, qword [r15]
lea rcx, str.__add_gnu_debuglink_ignored_for_archive__s
call fcn.004157d0
mov qword [0x004e4108], 0
mov r8d, dword [0x004a50a0]
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.004015b0
test byte [r15 + 0x45], 0x10
jne 0x405bb1
mov rax, qword [rsp + 0x48]
mov rcx, qword [rax]
call fcn.00415ec0
test rax, rax
mov qword [rsp + 0x38], rax
je 0x406250
cmp dword [0x004e4184], 7
je 0x4060a0
mov rbx, qword [rsp + 0x48]
movzx edx, byte [r15 + 0x45]
movzx eax, byte [rbx + 0x45]
and edx, 8
and eax, 0xfffffff7
or eax, edx
mov byte [rbx + 0x45], al
movzx edx, byte [r15 + 0x45]
mov rbx, qword [rsp + 0x48]
and eax, 0xffffffef
and edx, 0x10
or eax, edx
mov byte [rbx + 0x45], al
mov ebp, dword [0x004a50b0]
test ebp, ebp
je 0x40591c
or dword [rbx + 0x40], 0x2000
xor edx, edx
mov rcx, r15
call fcn.00417490
movzx edx, byte [r15 + 0x44]
mov rbx, rax
mov rdi, qword [rsp + 0x48]
and edx, 7
mov rcx, rdi
call fcn.0041ef30
test eax, eax
je 0x405e51
mov rax, rdi
mov edi, dword [0x004e418c]
xor esi, esi
add rax, 0xe0
mov qword [rsp + 0x30], rax
test edi, edi
jne 0x405b26
test rbx, rbx
je 0x405b26
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x58], rax
nop dword [rax]
mov rcx, qword [rbx]
call fcn.00416280
test eax, eax
je 0x406160
mov r8, qword [rbx]
mov rcx, qword [rsp + 0x38]
lea rdx, [0x004aa5d5]
xor r9d, r9d
call fcn.004962e0
mov rdx, qword [rsp + 0x28]
mov rdi, rax
mov rcx, rax
call qword [sym.imp.msvcrt.dll__stat64]
test eax, eax
js 0x405a1f
mov rcx, rdi
call fcn.00415ec0
mov rcx, rdi
mov rbp, rax
call fcn.0049fd58
test rbp, rbp
je 0x4061c0
mov ecx, 0x18
call fcn.0049cf50
mov qword [rax + 8], rbp
mov r8, qword [rbx]
lea rdx, [0x004aa5d5]
mov r12, rax
mov qword [rax], rsi
mov qword [rax + 0x10], 0
xor r9d, r9d
mov rcx, rbp
mov rsi, r12
call fcn.004962e0
mov rdi, rax
mov r11d, dword [0x004e4190]
mov dword [rsp + 0x50], 0
test r11d, r11d
je 0x405a5f
mov rax, qword [rbx + 0xd0]
mov rdx, qword [rsp + 0x28]
mov rcx, rbx
test rax, rax
cmove rax, rbx
mov rax, qword [rax + 8]
call qword [rax + 0x1e0]
test eax, eax
mov dword [rsp + 0x50], eax
jne 0x405d94
mov ecx, 0x18
call fcn.0049cf50
mov edx, 1
mov qword [rax], rsi
mov qword [rax + 8], rdi
mov qword [rax + 0x10], 0
mov rcx, rbx
mov r14, rax
call fcn.0041ef20
test eax, eax
mov esi, eax
je 0x405c50
mov r10d, dword [rsp + 0x54]
test r10d, r10d
jne 0x405c64
mov rax, qword [rbx + 8]
mov rcx, rdi
mov rdx, qword [rax]
call fcn.00421ea0
test rax, rax
mov r13, rax
je 0x406180
mov r8, qword [rsp + 0x160]
mov rdx, r13
mov rcx, rbx
call fcn.00402fa0
test eax, eax
jne 0x405db0
mov rcx, rbx
call fcn.0041a260
test eax, eax
je 0x405c88
mov rcx, r13
mov r15, qword [rsp + 0x40]
call fcn.00421030
test eax, eax
jne 0x405b11
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.00416140
mov dword [0x004e418c], 1
mov rcx, rdi
call sub.msvcrt.dll__unlink
mov dword [0x004e418c], 1
mov rsi, r14
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
mov rax, qword [rsp + 0x48]
mov rcx, rax
mov rbx, qword [rax]
call fcn.00421030
test eax, eax
je 0x4060e5
mov rcx, r15
mov rbx, qword [r15]
call fcn.00421030
test eax, eax
jne 0x405c31
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [0x004e418c], 1
call fcn.00416140
jmp 0x405c31
je 0x405f42
mov dword [0x004e418c], 1
add rsp, 0xf8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
or dword [r15 + 0x40], 0x40000
jmp 0x405828
mov ecx, 5
mov dword [0x004e418c], 1
call fcn.0041a6d0
lea r9, str.sorry:_copying_thin_archives_is_not_currently_supported
xor r8d, r8d
mov rdx, r15
xor ecx, ecx
call fcn.00416140
jmp 0x405b90
mov eax, dword [r15 + 0x40]
mov edx, eax
or ah, 0x40
or edx, 0x24000
cmp ecx, 5
cmovne eax, edx
mov dword [r15 + 0x40], eax
mov eax, dword [0x004e40f8]
cmp eax, 1
jne 0x40581f
or dword [r15 + 0x40], 0xc0000
jmp 0x405828
call fcn.00421030
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll__unlink
mov rbx, qword [rsi]
mov rcx, rsi
call fcn.0049fd58
mov rsi, rbx
test rsi, rsi
je 0x405e6d
mov rcx, qword [rsi + 0x10]
test rcx, rcx
jne 0x405c15
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll__rmdir
jmp 0x405c23
lea r9, str.Unable_to_recognise_the_format_of_file
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
call fcn.00416140
mov rdx, qword [rsp + 0x158]
mov rcx, rdi
call fcn.00421ea0
test rax, rax
mov r13, rax
je 0x406180
test esi, esi
jne 0x405abb
mov rax, qword [rbx + 0xd0]
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
test rax, rax
cmove rax, rbx
mov rax, qword [rax + 8]
call qword [rax + 0x1e0]
test eax, eax
jne 0x405f60
mov rsi, qword [rsp + 0xc8]
test esi, esi
mov r15d, esi
js 0x405ff0
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.0041c6a0
test eax, eax
jne 0x406034
mov r9d, dword [0x004e4194]
test r9d, r9d
jne 0x406011
mov ecx, 0x2000
xor ebp, ebp
call fcn.0049cf50
test esi, esi
mov qword [rsp + 0x60], rax
je 0x405f85
mov qword [rsp + 0x68], rdi
mov r12, qword [rsp + 0x60]
jmp 0x405d32
mov r8, r13
mov rdx, rdi
mov rcx, r12
call fcn.0041c500
cmp rdi, rax
jne 0x405fc0
add ebp, esi
cmp r15d, ebp
jle 0x405f80
mov esi, r15d
mov eax, 0x2000
mov r8, rbx
sub esi, ebp
mov rcx, r12
cmp esi, 0x2000
cmovg esi, eax
movsxd rdi, esi
mov rdx, rdi
call fcn.0041c420
cmp rdi, rax
je 0x405d10
xor ecx, ecx
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
call fcn.00416140
mov rcx, qword [rsp + 0x60]
call fcn.0049fd58
mov rcx, r13
call fcn.00420f80
test eax, eax
je 0x405af7
jmp 0x405b11
mov rdx, qword [rbx]
lea rcx, str.internal_stat_error_on__s
call fcn.004157d0
jmp 0x405a5f
mov rcx, r13
call fcn.00421030
test eax, eax
jne 0x405dd6
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.00416140
mov dword [0x004e418c], 1
mov r8d, dword [0x004e4190]
test r8d, r8d
je 0x405dee
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x405e80
mov rdx, qword [rsp + 0x158]
mov rcx, rdi
mov rsi, r14
call fcn.00421c40
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
mov qword [r14 + 0x10], rax
mov qword [rdx], rax
add rax, 0xd8
mov rdx, rbx
mov qword [rsp + 0x30], rax
call fcn.00417490
mov rcx, rbx
mov rdi, rax
call fcn.00421030
mov edx, dword [0x004e418c]
test edx, edx
sete dl
test rdi, rdi
setne al
test dl, al
je 0x4061a2
mov rbx, rdi
jmp 0x405990
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
mov dword [0x004e418c], 1
call fcn.00416140
mov rcx, qword [rsp + 0x38]
call sub.msvcrt.dll__rmdir
jmp 0x405b90
mov rdx, qword [rsp + 0x28]
mov rcx, rdi
call fcn.004066d0
jmp 0x405dee
lea r8, [rsp + 0x70]
mov edx, 1
mov rcx, r15
call fcn.0041e560
test eax, eax
je 0x406123
cmp qword [rsp + 0x158], 0
je 0x4061ac
mov rdx, qword [rsp + 0x158]
mov rcx, rsi
call fcn.00421ea0
test rax, rax
mov rdi, rax
je 0x406104
mov r8d, dword [0x004a50a0]
mov rcx, rax
mov rdx, r15
call fcn.004015b0
mov r8, qword [rsp + 0x160]
mov rdx, rdi
mov rcx, r15
call fcn.00402fa0
test eax, eax
jne 0x406080
mov dword [0x004e418c], 1
mov rcx, rdi
call fcn.00420f80
test eax, eax
sete al
test al, al
je 0x406050
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
mov dword [0x004e418c], 1
call fcn.00416140
jmp 0x405b90
lea rcx, str.error:_the_input_file__s_is_empty
mov rdx, rbx
call fcn.004157d0
jmp 0x405b86
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
xor ecx, ecx
mov r15, qword [rsp + 0x40]
call fcn.00416140
jmp 0x405d7f
mov rdi, qword [rsp + 0x68]
movzx edx, word [rsp + 0xb6]
mov rcx, qword [r13]
or dh, 1
movzx edx, dx
call sub.msvcrt.dll__chmod
mov rcx, qword [rsp + 0x60]
call fcn.0049fd58
mov rcx, r13
call fcn.00420f80
test eax, eax
jne 0x405dd6
jmp 0x405dbc
xor ecx, ecx
xor r9d, r9d
xor r8d, r8d
mov rdx, r13
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x68]
call fcn.00416140
mov rcx, qword [rsp + 0x60]
call fcn.0049fd58
jmp 0x405d7f
mov rcx, rbx
mov r15, qword [rsp + 0x40]
call fcn.00416050
lea rcx, str.stat_returns_negative_size_for___s
mov rdx, rax
call fcn.004157d0
jmp 0x405d7f
mov rbp, qword [r13]
mov rcx, rbx
call fcn.00416050
lea rcx, str.copy_from___s__unknown__to___s__unknown__n
mov rdx, rax
mov r8, rbp
call sub.msvcrt.dll_printf
jmp 0x405ce8
mov rcx, rbx
mov r15, qword [rsp + 0x40]
call fcn.00416050
mov rcx, rax
call fcn.004154a0
jmp 0x405d7f
mov rcx, r15
call fcn.00421030
test eax, eax
jne 0x405b90
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [0x004e418c], 1
call fcn.00416140
jmp 0x405b90
mov eax, dword [0x004e418c]
test eax, eax
jne 0x405f0e
mov rcx, rdi
call fcn.00421030
test eax, eax
sete al
jmp 0x405f1b
mov rbx, qword [rsp + 0x48]
movzx eax, byte [rbx + 0x45]
and eax, 0xfffffff7
mov byte [rbx + 0x45], al
jmp 0x4058f6
mov rax, qword [r15 + 8]
mov dword [rsp + 0x54], 0
mov rax, qword [rax]
mov qword [rsp + 0x158], rax
jmp 0x405854
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.00416140
jmp 0x405b86
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
mov dword [0x004e418c], 1
call fcn.00416140
jmp 0x405b4a
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.00416140
mov dword [0x004e418c], 1
jmp 0x405b90
call fcn.0041a400
lea r8, [rsp + 0xb0]
mov edx, 3
mov rcx, r15
mov edi, eax
call fcn.0041e560
test eax, eax
je 0x4061eb
cmp edi, 0xd
jne 0x405eac
mov rcx, qword [rsp + 0x70]
call fcn.0049fd58
jmp 0x405eac
mov rdx, qword [rbx]
lea rcx, str.illegal_pathname_found_in_archive_member:__s
call fcn.004157d0
mov dword [0x004e418c], 1
jmp 0x405c31
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov rsi, r14
call fcn.00416140
mov dword [0x004e418c], 1
jmp 0x405c31
mov r15, qword [rsp + 0x40]
jmp 0x405b23
mov rax, qword [r15 + 8]
mov rax, qword [rax]
mov qword [rsp + 0x158], rax
jmp 0x405ebb
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea rcx, str.cannot_create_tempdir_for_archive_copying__error:__s_
mov rdx, rax
call fcn.004157d0
mov dword [0x004e418c], 1
jmp 0x405c31
call fcn.0041a400
cmp edi, eax
mov esi, eax
je 0x4061fd
mov ecx, edi
call fcn.0041a6d0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.00416140
cmp edi, 0xd
je 0x40623a
cmp esi, 0xd
jne 0x405b86
mov rcx, qword [rsp + 0xb0]
call fcn.00415840
mov rcx, qword [rsp + 0xb0]
call fcn.0049fd58
jmp 0x405b86
mov rcx, qword [rsp + 0x70]
call fcn.00415840
mov rcx, qword [rsp + 0x70]
call fcn.0049fd58
jmp 0x406212
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea rcx, str.cannot_create_tempdir_for_archive_copying__error:__s_
mov rdx, rax
call fcn.004157a0
nop
nop dword [rax]
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov r14, rcx
mov rcx, rdx
mov rbp, rdx
mov r13, r8
call fcn.004027f0
test eax, eax
jne 0x406430
mov rdx, qword [r14 + 8]
mov rax, qword [r13 + 8]
mov rsi, qword [rbp]
mov r12d, dword [rbp + 0x28]
mov edi, dword [rax + 8]
cmp dword [rdx + 8], edi
je 0x4062b7
and r12d, dword [rdx + 0x18]
and r12d, dword [rax + 0x18]
mov rbx, qword [0x004e41b0]
test rbx, rbx
jne 0x4063d2
nop word [rax + rax]
mov rbx, rsi
mov rsi, qword [0x004e4038]
test rsi, rsi
je 0x4062e5
test byte [rbp + 0x28], 1
jne 0x4062f1
mov rsi, qword [0x004e4040]
test rsi, rsi
je 0x40632a
mov rcx, rsi
call sub.msvcrt.dll_strlen
mov rcx, rbx
mov rdi, rax
call sub.msvcrt.dll_strlen
lea rcx, [rdi + rax + 1]
call fcn.0049cf50
mov rdx, rsi
mov rdi, rax
mov rcx, rax
call fcn.0049d360
mov rdx, rbx
mov rcx, rax
mov rbx, rdi
call sub.msvcrt.dll_strcpy
mov rcx, qword [rbp]
xor edx, edx
mov r8d, pe_nt_image_headers64
call fcn.004017c0
test rax, rax
je 0x406440
and r12d, 0x104
or r12d, dword [rax + 0x28]
test r12d, 0x8000000
je 0x40637d
mov rax, qword [r13 + 8]
cmp dword [rax + 8], 2
je 0x40637d
mov r8, qword [rbp]
mov rdx, qword [r13]
lea rcx, str._s__s_:_Note___dropping_share_flag_as_output_format_is_not_COFF
and r12d, 0xf7ffffff
call fcn.004157d0
mov rdx, rbx
mov r8d, r12d
mov rcx, r13
call fcn.004224e0
test rax, rax
mov rbx, rax
jne 0x4064b7
lea r9, str.failed_to_create_output_section
xor ebx, ebx
mov r8, rbx
mov rdx, r13
xor ecx, ecx
mov dword [0x004e418c], 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
jmp fcn.00416140
mov rbx, qword [rbx + 0x18]
test rbx, rbx
je 0x4062d0
mov rcx, qword [rbx]
mov rdx, rsi
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x4063c5
mov eax, dword [rbx + 0x10]
mov rbx, qword [rbx + 8]
cmp eax, 0xffffffff
cmovne r12d, eax
cmp rsi, rbx
je 0x4062d3
test r12d, 0x8000000
je 0x4062d3
cmp edi, 2
je 0x4062d3
mov rdx, qword [r13]
lea rcx, str._s__s_:_Note___dropping_share_flag_as_output_format_is_not_COFF
mov r8, rbx
and r12d, 0xf7ffffff
call fcn.004157d0
jmp 0x4062d3
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
cmp dword [0x004e4184], 4
jne 0x40637d
test r12d, 0x2000001
je 0x40637d
mov rax, qword [r14 + 8]
mov eax, dword [rax + 8]
cmp eax, 5
je 0x4066b0
cmp eax, 2
je 0x40668b
mov rax, qword [r13 + 8]
and r12d, 0xfdfffefd
cmp dword [rax + 8], 5
jne 0x40637d
and dword [rbp + 0x28], 0xfdfffefd
mov rdx, rbx
mov r8d, r12d
mov rcx, r13
call fcn.004224e0
test rax, rax
mov rbx, rax
je 0x406397
mov rax, qword [rax + 0xe8]
mov dword [rax + 4], 8
mov r9, qword [rbp + 0x40]
mov rcx, r14
mov r8, r13
mov rdx, rbp
call fcn.0041bd40
mov ecx, dword [0x004a50b8]
test ecx, ecx
js 0x406620
movsxd rcx, dword [0x004e4198]
xor edx, edx
lea rax, [rax + rcx - 1]
div rcx
movsxd rdx, dword [0x004a50b4]
imul rax, rdx
mov rdx, rax
mov rcx, rbx
call fcn.004227a0
test eax, eax
lea r9, str.failed_to_set_size
je 0x4063a0
mov rcx, qword [rbp]
xor edx, edx
mov r8d, 0x18
mov rsi, qword [rbp + 0x30]
call fcn.004017c0
test rax, rax
je 0x406670
test byte [rax + 0x14], 8
je 0x406640
mov rax, qword [rax + 0x18]
or byte [rbx + 0x2c], 1
mov qword [rbx + 0x38], rax
xor edx, edx
mov rcx, qword [rbp]
mov qword [rbx + 0x30], rax
mov r8d, 0x60
mov rsi, qword [rbp + 0x38]
call fcn.004017c0
test rax, rax
je 0x406661
test byte [rax + 0x14], 0x40
je 0x406650
add rsi, qword [rax + 0x20]
mov rax, rsi
mov rcx, qword [rbp]
xor edx, edx
mov qword [rbx + 0x38], rax
mov r8d, 0x200
call fcn.004017c0
test rax, rax
je 0x406659
mov eax, dword [rax + 0x2c]
mov dword [rbx + 0x78], eax
mov eax, dword [rbp + 0xcc]
mov dword [rbx + 0xcc], eax
movzx eax, byte [rbx + 0x2c]
movzx edx, byte [rbp + 0x2c]
and eax, 0xffffffcf
and edx, 0x30
or eax, edx
mov byte [rbx + 0x2c], al
test byte [rbp + 0x2b], 2
mov qword [rbp + 0x70], rbx
mov qword [rbp + 0x68], 0
je 0x4065f6
mov rsi, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xf8]
mov rcx, rsi
call fcn.00402380
test rax, rax
je 0x4065f6
mov rdx, qword [r14 + 8]
or dword [rax + 0x18], 0x20
cmp dword [rdx + 8], 5
je 0x40667f
mov rax, qword [r13 + 8]
mov r9, rbx
mov r8, r13
mov rdx, rbp
mov rcx, r14
call qword [rax + 0x150]
test eax, eax
jne 0x406430
lea r9, str.failed_to_copy_private_data
jmp 0x4063a0
mov edx, dword [0x004e4034]
test edx, edx
mov edx, 0
cmovne rax, rdx
jmp 0x4064f3
add rsi, qword [rax + 0x18]
mov rax, rsi
jmp 0x406539
mov rax, qword [rax + 0x20]
jmp 0x406574
mov eax, dword [rbp + 0x78]
jmp 0x406595
mov rax, rsi
add rax, qword [0x004e4150]
jmp 0x406574
mov rax, rsi
add rax, qword [0x004e4150]
jmp 0x406539
mov qword [rsi + 0xb0], rax
jmp 0x4065f6
mov rsi, qword [rbp]
lea rdi, str..buildid
mov ecx, 9
repe cmpsb byte [rsi], byte [rdi]
sete al
movzx eax, al
test eax, eax
jne 0x40637d
jmp 0x406473
mov rax, qword [rbp + 0xe8]
cmp dword [rax + 4], 7
sete al
movzx eax, al
jmp 0x4066a3