Function at 0x180006920
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x3c8
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x3b0], rax
xor ebx, ebx
mov rbp, rcx
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x5c], r8d
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x64], edx
lea rcx, [rsp + 0x1a2]
xor edx, edx
mov r8d, 0x206
mov qword [rsp + 0xd0], r9
mov dword [rsp + 0x68], ebx
mov dword [rsp + 0xb8], ebx
mov esi, ebx
mov dword [rsp + 0x50], ebx
mov word [rsp + 0x1a0], bx
call fcn.180035040
mov rcx, qword [rbp + 0x34]
mov edi, ebx
mov dword [rsp + 0xa8], ebx
mov dword [rsp + 0x44], ebx
mov qword [rsp + 0x88], rbx
mov dword [rsp + 0x60], ebx
test rcx, rcx
je 0x1800069be
lea rax, [rsp + 0x80]
test rax, rax
lea rax, [rcx + 0x7f]
jne 0x1800069c6
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x70], rax
test rcx, rcx
je 0x1800069ed
lea rax, [rsp + 0x80]
test rax, rax
je 0x1800069ed
mov eax, dword [rcx + 0x87]
mov rdx, qword [rcx + rax*8 + 0x8b]
jmp 0x1800069f5
mov rdx, qword [rsp + 0x80]
mov qword [rsp + 0xc0], rdx
mov edx, dword [rsp + 0x5c]
xor ecx, ecx
lea r9d, [rcx + 1]
mov r8d, 0x2000
imul rdx, rdx, 0x224
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0xb0], rax
test rax, rax
jne 0x180006a48
lea rdx, str.FAT_Search:_Unable_to_allocate_memory_directories_array._n
mov rcx, rbp
call fcn.180016b80
mov ecx, 0x20000008
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x1800076c7
mov rcx, qword [rsp + 0x70]
shl dword [rsp + 0x5c], 5
mov r9d, 4
mov edx, dword [rcx]
mov r8d, 0x1000
xor ecx, ecx
mov qword [rsp + 0xe8], rax
mov dword [rsp + 0x40], ebx
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [rsp + 0xa0], rax
test rax, rax
jne 0x180006ab8
lea rdx, str.FAT_Search:_Unable_to_allocate_memory_read_buffer._n
mov rcx, rbp
call fcn.180016b80
mov rcx, qword [rsp + 0xb0]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov ecx, 0x20000008
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x1800076c7
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x98], eax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0xd8], rax
cmp esi, dword [rsp + 0x5c]
jae 0x1800073b9
mov rcx, qword [rbp + 0x24]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1800073b9
mov rcx, qword [rbp + 0x2c]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1800073b9
bt dword [rbp + 0x54], 0x1f
jb 0x1800073b9
mov rax, qword [rsp + 0x70]
mov ecx, dword [rax]
mov qword [rsp + 0x78], rcx
lea eax, [rcx + rsi]
mov ecx, dword [rsp + 0x5c]
cmp eax, ecx
jbe 0x180006b32
mov eax, ecx
sub eax, esi
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x60], 0
jne 0x180006c6e
mov r9d, dword [rsp + 0x58]
mov rcx, rbp
mov edx, r9d
call fcn.180005700
cmp eax, 1
je 0x1800073b9
mov rcx, qword [rbp + 0x34]
test r9d, r9d
jne 0x180006be4
mov dword [rsp + 0xb8], 1
test rcx, rcx
je 0x180006b98
lea rax, [rsp + 0x80]
test rax, rax
je 0x180006b98
mov eax, dword [rcx + 0x87]
mov r8, qword [rcx + rax*8 + 0x8b]
mov qword [rsp + 0xd8], r8
jmp 0x180006ba0
mov r8, qword [rsp + 0xd8]
cmp dword [r8], 6
jne 0x180006baf
mov edx, dword [r8 + 0x20]
sub edx, 2
jmp 0x180006bb1
mov edx, ebx
mov ecx, dword [r8 + 0x14]
mov eax, dword [r8 + 4]
imul ecx, dword [r8 + 0x10]
imul eax, edx
mov rdx, qword [rsp + 0xc0]
add eax, ecx
add eax, dword [r8 + 0xc]
cmp dword [rdx], 6
jne 0x180006c06
mov r9d, dword [rdx + 0x20]
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x64], r9d
jmp 0x180006c06
lea r8, [rsp + 0x80]
call fcn.180004fd0
mov rax, qword [rsp + 0x80]
mov r9d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
mov r8d, 0x10000
mov ecx, dword [rcx]
imul rcx, rax
mov qword [rsp + 0x88], rcx
test r9d, r9d
je 0x180006c28
mov r8d, dword [rdx + 4]
shr r8d, 5
mov dword [rsp + 0x60], r8d
test r9d, r9d
je 0x180006c6e
lea r8, [rsp + 0x64]
mov edx, r9d
mov rcx, rbp
call fcn.180005770
test eax, eax
jne 0x180006c66
mov r9d, dword [rsp + 0x64]
mov dword [rsp + 0x60], 0x800
inc r9d
mov dword [rsp + 0x58], r9d
mov dword [rsp + 0x64], r9d
jmp 0x180006c6e
mov edx, dword [rsp + 0x64]
mov dword [rsp + 0x58], edx
mov rax, qword [rsp + 0x70]
xor edx, edx
xor esi, esi
mov ecx, dword [rax]
mov rax, qword [rsp + 0x88]
mov r11d, esi
div rcx
mov rbx, rax
mov qword [rsp + 0x80], rax
cmp dword [rsp + 0x78], esi
jbe 0x180006d2e
nop dword [rax]
mov r8, qword [rbp + 0x34]
mov r10d, r11d
mov r9, qword [r8 + 0x88b]
add r10, rbx
test r9, r9
je 0x180006ce9
cmp r10, qword [r8 + 0x883]
jae 0x180006ce9
mov cl, r10b
mov rax, r10
mov edx, 1
shr rax, 3
and cl, 7
shl edx, cl
movzx ecx, byte [rax + r9]
mov eax, esi
and edx, ecx
test dl, dl
setne al
test eax, eax
jne 0x180007366
cmp r9, rsi
je 0x180006d16
cmp r10, qword [r8 + 0x883]
jae 0x180006d16
mov r8, qword [r8 + 0x88b]
mov cl, r10b
mov r9, r10
and cl, 7
mov edx, 1
shr r9, 3
shl dl, cl
or byte [r9 + r8], dl
mov rax, qword [rsp + 0x70]
inc r11d
mov eax, dword [rax]
imul eax, r11d
cmp eax, dword [rsp + 0x78]
jb 0x180006ca0
mov rsi, qword [rsp + 0x78]
mov r9, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rbp + 0x34]
lea rax, [rsp + 0x94]
mov r8d, esi
mov qword [rsp + 0x20], rax
call fcn.180002c60
test eax, eax
je 0x1800073a8
mov r8d, dword [rsp + 0x94]
cmp r8d, esi
jne 0x1800073a8
mov rax, qword [rsp + 0x70]
mov r10, qword [rsp + 0x88]
xor edx, edx
mov ecx, dword [rax]
mov rax, r10
div rcx
xor edx, edx
mov r9, rax
mov eax, r8d
div ecx
mov r11d, eax
test eax, eax
je 0x180006dea
lea r10, [r9 + rax]
mov r8, qword [rbp + 0x34]
dec r11d
dec r10
cmp qword [r8 + 0x88b], 0
je 0x180006ddd
cmp r10, qword [r8 + 0x883]
jae 0x180006ddd
mov r8, qword [r8 + 0x88b]
mov cl, r10b
mov r9, r10
and cl, 7
mov edx, 1
shr r9, 3
shl dl, cl
or byte [r9 + r8], dl
test r11d, r11d
jne 0x180006da1
mov r10, qword [rsp + 0x88]
movsxd rdx, dword [rsp + 0xb8]
xor ebx, ebx
mov ecx, esi
shr ecx, 5
mov dword [rsp + 0x9c], ebx
mov dword [rsp + 0x54], ebx
mov dword [rsp + 0x6c], ecx
mov qword [rsp + 0xc8], rdx
test ecx, ecx
je 0x180007310
mov rbp, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x50]
add rbp, 0xb
nop dword [rax + rax]
mov rcx, qword [rsp + 0x48]
add rax, r10
mov qword [rcx + 0x240], rax
cmp byte [rbp - 0xb], 0
je 0x18000734f
cmp dword [rsp + 0x44], 2
jae 0x180006ea7
test rdx, rdx
jne 0x180006ea7
lea r8d, [rdx + 0xc]
lea rcx, [rsp + 0x190]
lea rdx, [rbp - 0xb]
call qword [sym.imp.KERNEL32.dll_lstrcpynA]
mov eax, dword [rsp + 0x44]
test eax, eax
jne 0x180006e7c
lea rdx, str..
jmp 0x180006e88
cmp eax, 1
jne 0x180006ea7
lea rdx, str...
lea rcx, [rsp + 0x190]
call qword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
jne 0x1800072f7
mov eax, dword [rsp + 0x50]
jmp 0x1800072c8
cmp byte [rbp + 1], 0
jne 0x180006ee1
cmp bx, word [rbp + 0xf]
jne 0x180006ee1
cmp byte [rbp], 0xf
jne 0x180006ee1
lea r9, [rsp + 0xa8]
lea rdx, [rsp + 0x1a0]
lea rcx, [rbp - 0xb]
mov r8d, edi
call fcn.180005f80
mov edi, dword [rsp + 0xa8]
jmp 0x1800072bd
mov rcx, qword [rsp + 0xc0]
cmp dword [rcx], 6
jne 0x180006ef7
movzx eax, word [rbp + 9]
shl eax, 0x10
jmp 0x180006ef9
mov eax, ebx
movzx ebx, word [rbp + 0xf]
or ebx, eax
mov dword [rsp + 0x90], ebx
cmp ebx, dword [rcx + 0x24]
jae 0x1800072aa
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0x1a0]
lea rcx, [rbp - 0xb]
call fcn.1800064d0
test eax, eax
je 0x1800072aa
movzx eax, byte [rbp - 0xb]
cmp al, 0xe5
je 0x180006f44
cmp al, 0x20
jb 0x180006f44
xor r8d, r8d
mov edi, r8d
jmp 0x180006f4c
mov edi, 1
xor r8d, r8d
xor al, al
mov byte [rsp + 0x16c], al
test byte [rbp], 1
movzx edx, al
mov eax, 2
cmovne edx, eax
mov byte [rsp + 0x16c], dl
test byte [rbp], al
je 0x180006f7a
or dl, 4
mov byte [rsp + 0x16c], dl
test byte [rbp], 4
je 0x180006f8a
or dl, 8
mov byte [rsp + 0x16c], dl
test byte [rbp], 0x20
je 0x180006f9a
or dl, 1
mov byte [rsp + 0x16c], dl
movzx eax, byte [rbp]
test al, 0x10
jne 0x1800071d4
test al, 8
jne 0x1800072aa
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x34]
test rbx, rbx
je 0x1800072aa
lea rax, [rsp + 0xa8]
test rax, rax
je 0x1800072aa
mov rcx, qword [rbx + 0x18]
mov eax, dword [rbp + 0x11]
sub rcx, qword [rbx + 0x28]
cmp rax, rcx
jae 0x1800072aa
lea rcx, [rsp + 0xf0]
xor edx, edx
mov r8d, 0x93
call fcn.180035040
test edi, edi
jne 0x18000700c
cmp dword [rsp + 0x410], edi
jne 0x18000700c
lea ecx, [rdi + 1]
jmp 0x18000700e
xor ecx, ecx
movzx eax, byte [rsp + 0x168]
mov rdi, qword [rsp + 0x48]
xor cl, al
and cl, 1
xor al, cl
mov byte [rsp + 0x168], al
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x128], rax
test rbx, rbx
je 0x180007053
lea rax, [rsp + 0x100]
test rax, rax
je 0x180007053
mov rax, qword [rbx + 0x28]
mov qword [rsp + 0x100], rax
mov eax, dword [rbp + 0x11]
lea r8, [rbp - 0xb]
lea rdx, [rsp + 0xf0]
mov rcx, rdi
mov qword [rsp + 0xf8], rax
call fcn.180006730
lea r9, [rsp + 0x17b]
lea rdx, [rsp + 0x90]
lea rcx, [rdi + 0x3c]
mov r8d, 4
call fcn.180017020
test eax, eax
je 0x1800072aa
mov r8d, dword [rdi + 0x248]
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x120], rax
movzx eax, byte [rsp + 0x168]
and al, 0xcd
or al, 0xc
mov byte [rsp + 0x168], al
test r8b, 1
je 0x1800070eb
test al, 1
je 0x1800070d3
test r8b, 4
je 0x1800070eb
shl r8d, 0x1e
lea rdx, [rsp + 0xf0]
mov rcx, rdi
sar r8d, 0x1f
call fcn.180006100
lea r8, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea rcx, [rdi + 0x3c]
call fcn.180016f30
cmp eax, 1
jne 0x1800072aa
movzx eax, byte [rsp + 0x168]
mov rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x138], 0xffffffffffffffff
and al, 0xc5
or al, 4
mov byte [rsp + 0x168], al
mov ecx, dword [rdx + 4]
mov eax, dword [rsp + 0xf8]
lea eax, [rax + rcx - 1]
xor edx, edx
div ecx
mov ecx, eax
movzx eax, word [rsp + 0x175]
mov qword [rsp + 0x160], rcx
mov ecx, 0x9fff
and ax, cx
mov ecx, 0x1000
or ax, cx
mov word [rsp + 0x175], ax
mov rax, qword [rdi + 0x34]
test rax, rax
je 0x180007195
lea rcx, [rsp + 0x90]
test rcx, rcx
je 0x180007195
mov eax, dword [rax + 0x87]
mov dword [rsp + 0x98], eax
jmp 0x18000719c
mov eax, dword [rsp + 0x98]
and byte [rsp + 0x16b], 0xfe
mov dword [rsp + 0x177], eax
mov rax, qword [rsp + 0xd0]
lea rdx, [rsp + 0xf0]
lea rcx, [rdi + 0x3c]
xor r8d, r8d
mov qword [rsp + 0xf0], rax
call fcn.180017150
jmp 0x1800072aa
cmp word [rsp + 0x1a0], 0
je 0x1800072aa
mov eax, dword [rsp + 0xa8]
mov word [rsp + rax*2 + 0x1a0], r8w
test edi, edi
jne 0x180007203
mov eax, r8d
cmp dword [rsp + 0x410], edi
je 0x180007208
mov eax, 1
mov rcx, qword [rsp + 0x48]
lea r9, [rsp + 0xe0]
mov qword [rsp + 0x30], r9
mov dword [rsp + 0x28], r8d
movzx r9d, dl
mov rdx, qword [rsp + 0xd0]
lea r8, [rsp + 0x1a0]
add rcx, 0x3c
mov dword [rsp + 0x20], eax
call fcn.1800174c0
test eax, eax
je 0x1800072aa
mov rsi, qword [rsp + 0x48]
lea r8, [rbp - 0xb]
lea rdx, [rsp + 0xf0]
mov rcx, rsi
call fcn.180006730
test edi, edi
jne 0x18000726f
cmp dword [rsp + 0x410], edi
jne 0x18000726f
xor r9d, r9d
jmp 0x180007275
mov r9d, 1
mov rax, qword [rsp + 0xe0]
lea rdx, [rsp + 0xe8]
mov r8d, ebx
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x110]
mov rcx, rsi
mov qword [rsp + 0x20], rax
call fcn.180005080
test eax, eax
je 0x1800072aa
inc dword [rsp + 0x40]
xor ebx, ebx
mov edi, ebx
mov dword [rsp + 0xa8], ebx
mov word [rsp + 0x1a0], bx
mov eax, dword [rsp + 0x50]
add eax, 0x20
mov dword [rsp + 0x50], eax
mov edx, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x6c]
inc dword [rsp + 0x44]
inc edx
add rbp, 0x20
mov dword [rsp + 0x54], edx
cmp edx, ecx
jae 0x180007348
mov rdx, qword [rsp + 0xc8]
mov r10, qword [rsp + 0x88]
jmp 0x180006e30
mov rbp, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x9c], 1
mov rsi, qword [rsp + 0x78]
mov edx, dword [rsp + 0x68]
cmp dword [rsp + 0x9c], 0
mov qword [rbp + 0x240], 0xffffffffffffffff
jne 0x1800073b9
sub dword [rsp + 0x60], ecx
mov eax, esi
add qword [rsp + 0x88], rax
test edx, edx
jne 0x1800073b9
mov esi, dword [rsp + 0x50]
jmp 0x180006ad6
mov rbp, qword [rsp + 0x48]
jmp 0x18000730b
mov rsi, qword [rsp + 0x78]
mov edx, 1
mov rbp, rcx
mov ecx, dword [rsp + 0x6c]
mov dword [rsp + 0x68], edx
jmp 0x180007314
mov rcx, qword [rsp + 0xa0]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rsp + 0xb0]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
lea rdx, str.FAT_Search:_Directory_sector_is_already_used_by_some_structure._n
mov rcx, rbp
call fcn.180016b80
xor eax, eax
jmp 0x1800076c7
lea rdx, str.FAT_Search:_CachedDrive_Read_error._n
mov rcx, rbp
call fcn.180016b80
xor ebx, ebx
lea rdx, str.FAT_Search:_processing_found_directories._n
mov rcx, rbp
call fcn.180016b80
mov ecx, dword [rsp + 0x40]
mov esi, ebx
mov dword [rsp + 0x54], ebx
test ecx, ecx
je 0x1800075c6
mov rbx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xc8]
add rbx, 0xc
mov qword [rsp + 0xd0], rax
nop
bt dword [rbp + 0x54], 0x1f
jb 0x1800075c4
mov rcx, qword [rbp + 0x24]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1800075c0
cmp dword [rbx - 4], 0
jne 0x1800075a4
mov eax, dword [rsp + 0x420]
mov r8d, dword [rsp + 0x40]
mov r11, qword [rsp + 0x48]
xor edx, edx
mov ecx, esi
imul rcx, rax
mov rax, r8
shr rax, 1
add rax, rcx
mov rcx, qword [r11 + 0x34]
div r8
xor edx, edx
mov rbp, rax
add ebp, dword [rsp + 0x418]
mov dword [r11 + 4], ebp
mov r10d, dword [rbx + 4]
test rcx, rcx
je 0x18000749f
lea rax, [rsp + 0xc8]
test rax, rax
je 0x180007484
lea rax, [rcx + 0x7f]
mov qword [rsp + 0xd0], rax
lea rax, [rsp + 0xc8]
test rax, rax
je 0x18000749f
mov eax, dword [rcx + 0x87]
mov rdi, qword [rcx + rax*8 + 0x8b]
mov rax, qword [rsp + 0xd0]
mov r9d, dword [rax]
test r9d, r9d
je 0x1800074b7
mov eax, dword [rdi + 4]
div r9d
mov edx, eax
mov r8d, dword [rdi + 0x14]
mov eax, edx
lea ecx, [r10 - 2]
imul rcx, rax
mov eax, dword [rdi + 0xc]
imul r8d, dword [rdi + 0x10]
add r8, rcx
add r8, rax
cmp dword [rdi], 6
je 0x1800074e7
mov eax, dword [rdi + 0x18]
xor edx, edx
shl rax, 5
div r9
add r8, rax
mov rax, qword [rsp + 0x70]
mov r9, qword [rsp + 0xa0]
mov dword [rbx], 1
mov eax, dword [rax]
lea rcx, [rsp + 0x94]
mov rdx, rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [r11 + 0x34]
imul rdx, r8
mov r8d, eax
call fcn.180002c60
test eax, eax
je 0x180007560
mov rcx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x94]
cmp dword [rcx], eax
jne 0x180007560
mov r8, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x48]
lea rdx, [rsp + 0xf0]
call fcn.180006730
mov rax, qword [rsp + 0x110]
xor r11d, r11d
cmp qword [rbx - 0xc], rax
sete r11b
mov dword [rbx], r11d
cmp dword [rbx], 0
je 0x18000759f
mov eax, dword [rsp + 0x420]
mov r9, qword [rbx + 8]
xor edx, edx
div dword [rsp + 0x40]
mov edx, dword [rbx + 4]
mov r8d, 0x10000
mov dword [rsp + 0x30], eax
mov eax, dword [rbx - 4]
mov dword [rsp + 0x28], ebp
mov rbp, qword [rsp + 0x48]
mov dword [rsp + 0x20], eax
mov rcx, rbp
call fcn.180006920
inc esi
jmp 0x1800075a4
mov rbp, qword [rsp + 0x48]
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x40]
add rbx, 0x1c
inc eax
mov dword [rsp + 0x54], eax
cmp eax, ecx
jb 0x180007400
jmp 0x1800075c4
mov ecx, dword [rsp + 0x40]
xor ebx, ebx
mov edi, ebx
test ecx, ecx
je 0x18000766c
mov rbx, qword [rsp + 0xb0]
add rbx, 8
nop dword [rax]
bt dword [rbp + 0x54], 0x1f
jb 0x18000766c
mov rcx, qword [rbp + 0x24]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x18000766c
cmp dword [rbx + 4], 0
jne 0x18000765c
mov r10d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x420]
xor edx, edx
mov rax, r10
mov ecx, esi
mov r8d, 0x10000
shr rax, 1
imul rcx, r9
add rax, rcx
div r10
xor edx, edx
mov rcx, rax
mov eax, r9d
add ecx, dword [rsp + 0x418]
div r10d
mov dword [rbp + 4], ecx
mov r9, qword [rbx + 0xc]
mov edx, dword [rbx + 8]
mov dword [rsp + 0x30], eax
mov eax, dword [rbx]
mov dword [rsp + 0x28], ecx
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.180006920
inc esi
inc edi
add rbx, 0x1c
cmp edi, dword [rsp + 0x40]
jb 0x1800075e0
mov eax, dword [rsp + 0x420]
mov ecx, dword [rsp + 0x418]
xor edx, edx
add eax, ecx
mov rcx, qword [rsp + 0xb0]
mov r8d, 0x8000
mov dword [rbp + 4], eax
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, qword [rsp + 0xa0]
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
lea rdx, str.FAT_Search:_Return_to_upper_recursion_level._n
mov rcx, rbp
call fcn.180016b80
cmp qword [rbp + 0x44], 0
mov eax, 0
setne al
mov rcx, qword [rsp + 0x3b0]
xor rcx, rsp
call fcn.18002d590
add rsp, 0x3c8
pop rdi
pop rsi
pop rbp
pop rbx
ret