Function at 0x4a9d00
Capabilities:
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x408
mov dword [esp], edx
mov dword [esp + 0x18], ecx
push dword [ebp + 8]
call fcn.005e0110
add esp, 4
mov esi, edx
lea ecx, [esp + 0xb8]
mov edx, eax
push esi
call fcn.005ed1f0
add esp, 4
mov ebx, dword [esp + 0xb8]
xor eax, eax
cmp ebx, 1
sete al
mov esi, dword [esp + eax*4 + 0xc0]
test esi, esi
js 0x4ab64f
mov edi, dword [esp + 0xbc]
je 0x4a9d91
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4a9d77
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ab656
mov dword [0x6f1130], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ab656
mov ebx, dword [esp + 0xb8]
jmp 0x4a9d96
mov eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], esi
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
test ebx, ebx
mov dword [esp + 0x2c], esi
je 0x4a9dcf
cmp dword [esp + 0xc0], 0
je 0x4a9dcf
push dword [esp + 0xbc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [ebp + 8]
push ebx
call fcn.005e0110
add esp, 4
mov ecx, eax
call fcn.005e6800
test eax, eax
je 0x4a9ec1
cmp edx, 2
jne 0x4a9dfe
movzx ecx, word [eax]
cmp ecx, 0x2e2e
je 0x4a9ec1
xor ebx, ebx
mov dword [esp + 8], 0
nop dword [eax + eax]
cmp edx, ebx
je 0x4a9ecb
cmp byte [eax + edx - 1], 0x2e
lea edi, [eax - 1]
mov esi, ebx
lea ebx, [ebx + 1]
mov eax, edi
jne 0x4a9e10
mov ecx, edx
sub ecx, ebx
inc ecx
cmp edx, ecx
jb 0x4ab664
cmp edx, ebx
mov ebx, dword [ebp + 8]
je 0x4a9ece
lea edx, [edi + edx + 1]
lea ecx, [esp + 0xb8]
push esi
call fcn.005ed1f0
add esp, 4
mov edi, dword [esp + 0xb8]
xor eax, eax
cmp edi, 1
sete al
mov eax, dword [esp + eax*4 + 0xc0]
test eax, eax
js 0x4ab64f
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x10], eax
je 0x4aaac7
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4a9e9f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ab673
mov dword [0x6f1130], eax
push dword [esp + 0x10]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ab673
mov edi, dword [esp + 0xb8]
mov ecx, eax
jmp 0x4aaacc
mov dword [esp + 8], 0
jmp 0x4a9ece
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
or eax, dword [ecx + 4]
je 0x4aa0ec
movaps xmm0, xmmword [0x606770]
mov dword [esp + 0x3fc], 0
mov word [esp + 0x400], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 0
movups xmmword [esp + 0x3ec], xmm0
mov word [esp + 0x3fc], 0x101
push ebx
call fcn.005e0110
add esp, 4
lea ebx, [esp + 0xb8]
lea esi, [esp + 0x3e0]
mov edi, edx
mov edx, eax
mov ecx, ebx
push esi
push edi
call fcn.005d8dc0
add esp, 8
cmp dword [esp + 0xb8], 1
jne 0x4aa221
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
mov ecx, dword [0x6f11c8]
cmp ecx, 2
jbe 0x4aa085
lea eax, [esp + 0x24]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0x298]
mov dword [esp + 0x298], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x29c], 0x41e510
mov dword [esp + 0x2a0], eax
mov dword [esp + 0x2a4], fcn.005dde30
mov eax, dword [0x6f1080]
mov dword [esp + 0xb8], 3
mov dword [esp + 0xbc], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xc0], 0x2d
mov dword [esp + 0xc4], 0x620734
mov dword [esp + 0xc8], 2
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], 2
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe4], 0x2d
mov dword [esp + 0xe0], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0x2a
mov dword [esp + 0xec], 0x6206f5
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0x70
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push ebx
push ecx
call dword [eax + 0x14]
add esp, 8
mov al, byte [esp + 0x50]
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 8]
cmp al, 3
mov dword [ecx + 0x44], 0
mov dword [ecx + 0x40], 2
jne 0x4aa89f
mov esi, dword [esp + 0x54]
mov eax, dword [esi + 4]
push dword [esi]
call dword [eax]
add esp, 4
mov ecx, dword [esi + 4]
cmp dword [ecx + 4], 0
je 0x4aa0d6
mov eax, dword [esi]
cmp dword [ecx + 8], 9
jb 0x4aa0c8
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x54]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x4aa89f
mov eax, dword [0x6f11c8]
cmp eax, 2
jbe 0x4aa1f2
lea eax, [esp + 0x24]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0x298]
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], 0x41e510
mov eax, dword [0x6f1080]
mov dword [esp + 0xb8], 3
mov dword [esp + 0xbc], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xc0], 0x2d
mov dword [esp + 0xc4], 0x6206c0
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], edx
lea edx, [esp + 0xb8]
mov dword [esp + 0xd8], 1
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe4], 0x2d
mov dword [esp + 0xe0], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0x2a
mov dword [esp + 0xec], 0x6206f5
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0x33
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [esp + 0x18]
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 2
mov eax, dword [esp + 8]
test eax, eax
je 0x4aa8b8
cmp dword [esp + 0x10], 0
je 0x4aa8b8
push eax
jmp 0x4aa8ab
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
cmp dword [eax], 1
lea edx, [eax + 0x50]
lea ecx, [eax + 0x10]
mov eax, edx
mov dword [esp + 0xb4], ecx
cmove eax, ecx
mov ebx, dword [eax + 8]
test ebx, ebx
js 0x4ab64f
mov esi, dword [eax]
mov dword [esp + 4], edx
je 0x4aa28b
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4aa26e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4aa27d
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x4aa290
mov ecx, ebx
mov edx, 1
call fcn.0040a640
ud2
mov edi, 1
push ebx
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov ebx, dword [ebp + 8]
push ebx
call fcn.005e0110
add esp, 4
mov ecx, eax
call fcn.005e6800
mov esi, dword [esp]
test eax, eax
je 0x4aa33b
mov edi, edx
lea ecx, [esp + 0x298]
mov edx, eax
push edi
call fcn.005ed1f0
add esp, 4
mov edi, dword [esp + 0x298]
xor eax, eax
cmp edi, 1
sete al
cmp dword [esp + eax*4 + 0x2a0], 0xc
jb 0x4aa319
mov esi, dword [esp + 0x29c]
push 0xc
push esi
push str.checkpoints_Xh
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4aab0d
mov esi, dword [esp]
test edi, edi
je 0x4aa33b
cmp dword [esp + 0x2a0], 0
je 0x4aa33b
push dword [esp + 0x29c]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esi], 1
jne 0x4aa59f
mov edx, dword [esi + 4]
lea edi, [esp + 0xb8]
mov ecx, edi
push dword [esi + 0xc]
call fcn.004d3220
add esp, 4
cmp dword [esp + 0xb8], 0
jne 0x4aa5f8
mov edi, dword [esp + 0xbc]
mov esi, dword [esp + 0xc0]
lea ecx, [esp + 0x1c]
mov edx, edi
push dword [esp + 0xc4]
call fcn.00530060
add esp, 4
mov ebx, eax
test esi, esi
je 0x4aa3a0
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test bl, bl
lea edi, [esp + 0xb8]
je 0x4aa5f8
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
push 2
push edi
push 0xffffffffffffffff
push 0xfffffffffffffff8
push esi
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
jne 0x4aa3df
call sub.KERNEL32.dll_GetLastError
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], 0
lea ecx, [esp + 0x1c]
push 4
call fcn.00502640
add esp, 4
cmp al, 4
jne 0x4aa60c
mov ebx, dword [esp + 0xb8]
mov ecx, ebx
bswap ecx
cmp ecx, 0x1000
jbe 0x4aad1a
mov bl, 2
movsd xmm1, qword [esp + 0x70]
movsd xmm2, qword [esp + 0x68]
movzx eax, word [esp + 0x3c]
movsd xmm0, qword [esp + 0x78]
cmp bl, 3
movsd qword [esp + 0x228], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x220], xmm2
movsd xmm2, qword [esp + 0x50]
mov word [esp + 0x38], ax
mov al, byte [esp + 0x3e]
movsd qword [esp + 0x230], xmm0
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0x208], xmm2
mov byte [esp + 0x3a], al
movsd qword [esp + 0x210], xmm1
je 0x4aa64c
movsd xmm1, qword [esp + 0x228]
movsd xmm2, qword [esp + 0x220]
movzx eax, word [esp + 0x38]
movsd xmm0, qword [esp + 0x230]
cmp bl, 2
movsd qword [esp + 0x288], xmm1
movsd xmm1, qword [esp + 0x218]
movsd qword [esp + 0x280], xmm2
movsd xmm2, qword [esp + 0x208]
mov word [esp + 0x34], ax
mov al, byte [esp + 0x3a]
movsd qword [esp + 0x290], xmm0
movsd qword [esp + 0x278], xmm1
movsd xmm1, qword [esp + 0x210]
movsd qword [esp + 0x268], xmm2
mov byte [esp + 0x36], al
movsd qword [esp + 0x270], xmm1
je 0x4aa64c
movsd xmm1, qword [esp + 0x288]
movsd xmm2, qword [esp + 0x280]
movzx eax, word [esp + 0x34]
movsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x258], xmm1
movsd xmm1, qword [esp + 0x278]
movsd qword [esp + 0x250], xmm2
movsd xmm2, qword [esp + 0x268]
mov word [esp + 0x30], ax
mov al, byte [esp + 0x36]
movsd qword [esp + 0x260], xmm0
movsd qword [esp + 0x248], xmm1
movsd xmm1, qword [esp + 0x270]
movsd qword [esp + 0x238], xmm2
mov byte [esp + 0x32], al
movsd qword [esp + 0x240], xmm1
jmp 0x4aa8ef
mov edi, dword [esp + 8]
test edi, edi
je 0x4aa5c7
mov eax, dword [esp + 0x10]
cmp dword [esi + 0x58], eax
jne 0x4aa5c7
push dword [esp + 0x10]
push edi
mov eax, dword [esp + 0xc]
push dword [eax]
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4aa5e1
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x1c]
push dword [esi + 0x28]
call fcn.00530060
add esp, 4
test al, al
je 0x4aa8ed
mov eax, dword [esp + 0x18]
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 2
jmp 0x4aa878
mov ecx, 0x27
mov edx, str.Invalid_HeaderInvalid_KeyInvalid_RSA_Private_Key
push 0xe
call fcn.004cb170
add esp, 4
mov ebx, edx
cmp al, 3
jne 0x4aa64c
mov eax, dword [ebx + 4]
push dword [ebx]
call dword [eax]
add esp, 4
mov ecx, dword [ebx + 4]
cmp dword [ecx + 4], 0
je 0x4aa63e
mov eax, dword [ebx]
cmp dword [ecx + 8], 9
jb 0x4aa630
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push ebx
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [0x6f11c8]
cmp eax, 2
jbe 0x4aa74b
lea eax, [esp + 0x24]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0x298]
mov dword [esp + 0x298], eax
mov dword [esp + 0x29c], 0x41e510
mov eax, dword [0x6f1080]
mov dword [esp + 0xb8], 3
mov dword [esp + 0xbc], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xc0], 0x2d
mov dword [esp + 0xc4], 0x62078c
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], 1
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe4], 0x2d
mov dword [esp + 0xe0], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0x2a
mov dword [esp + 0xec], 0x6206f5
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0x5a
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push edi
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
lea ecx, [esp + 0x50]
lea edi, [esp + 0x298]
mov dword [esp + 0xb8], 0x62066c
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc0], 0
lea edx, [esp + 0xb8]
mov dword [esp + 0xc8], ecx
mov ecx, edi
mov dword [esp + 0xcc], 1
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x41e510
call fcn.0040a660
lea ecx, [esp + 0xb8]
mov edx, esi
push edi
push ebx
call fcn.004ab6e0
add esp, 8
cmp dword [esp + 0x29c], 0
je 0x4aa7e3
push dword [esp + 0x298]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
push dword [esp + 0xc0]
push dword [esp + 0xbc]
call fcn.005ef170
add esp, 8
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 8]
cmp al, 3
jne 0x4aa848
mov eax, dword [edx + 4]
mov esi, edx
push dword [edx]
call dword [eax]
add esp, 4
mov ecx, dword [esi + 4]
cmp dword [ecx + 4], 0
je 0x4aa83a
mov eax, dword [esi]
cmp dword [ecx + 8], 9
jb 0x4aa82c
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x18]
cmp dword [esp + 0xbc], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 2
je 0x4aa878
push dword [esp + 0xb8]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x88], 0
je 0x4aa896
push dword [esp + 0x84]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x1c]
call sub.KERNEL32.dll_CloseHandle
test edi, edi
je 0x4aa8b8
cmp dword [esp + 0x10], 0
je 0x4aa8b8
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x28], 0
je 0x4aa8d0
push dword [esp + 0x24]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [ebx + 4], 0
je 0x4aa8e5
push dword [ebx]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov bl, 2
mov eax, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
movsd qword [esp + 0x50], xmm0
mov dword [esp + 0x58], eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4aa925
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ab683
mov dword [0x6f1130], eax
push 0x48
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4ab683
mov dword [eax + 8], 0
mov byte [eax + 0xc], 0
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
mov ecx, 0x12
movsd xmm0, qword [esp + 0x298]
movsd xmm1, qword [esp + 0x2a0]
lea edi, [edx + 0x38]
movsd qword [eax + 0xd], xmm0
movsd qword [eax + 0x15], xmm1
movsd xmm0, qword [esp + 0x2a7]
movsd qword [eax + 0x1c], xmm0
mov dword [eax + 0x24], 0
movsd xmm0, qword [esp + 0xb8]
movsd xmm1, qword [esp + 0xc0]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x30], xmm1
movsd xmm0, qword [esp + 0xc8]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0xd0]
movsd qword [eax + 0x40], xmm0
mov dword [eax], 1
mov dword [eax + 4], 1
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x58]
movsd xmm0, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x240]
cmp dword [esp + 0x88], 0
mov edi, dword [esp]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0xc0]
mov dword [edx + 0x90], ecx
mov ecx, dword [esp + 0x10]
mov dword [edx + 0x94], ecx
mov dword [edx + 0x98], ecx
mov ecx, dword [esp + 4]
mov dword [edx], ecx
movsd qword [edx + 4], xmm0
movsd xmm0, qword [esp + 0x248]
movsd qword [edx + 0xc], xmm1
movzx ecx, word [esp + 0x30]
movsd qword [edx + 0x14], xmm0
movsd xmm0, qword [esp + 0x250]
movsd qword [edx + 0x1c], xmm0
movsd xmm0, qword [esp + 0x258]
movsd qword [edx + 0x24], xmm0
movsd xmm0, qword [esp + 0x260]
movsd qword [edx + 0x2c], xmm0
movsd xmm0, qword [esp + 0x50]
mov byte [edx + 0x34], bl
mov bl, byte [esp + 0x32]
mov word [edx + 0x35], cx
movsd qword [esp + 0xb8], xmm0
mov byte [edx + 0x37], bl
mov dword [edx + 0x80], edi
mov dword [edx + 0x8c], esi
movsd xmm0, qword [esp + 0xb8]
movsd qword [edx + 0x84], xmm0
mov dword [edx + 0x9c], eax
je 0x4aaab5
push dword [esp + 0x84]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ebx, dword [ebp + 8]
cmp dword [ebx + 4], 0
jne 0x4aa8d6
jmp 0x4aa8e5
mov eax, 1
push dword [esp + 0x10]
push esi
mov dword [esp + 0x10], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
test edi, edi
je 0x4a9ece
cmp dword [esp + 0xc0], 0
je 0x4a9ece
push dword [esp + 0xbc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x4a9ece
mov edi, dword [esp + edi*4 + 0x2a0]
lea eax, [esp + 0x84]
lea ecx, [esp + 0x50]
lea edx, [esp + 0xb8]
mov dword [esp + 0xb8], 0x62066c
mov dword [esp + 0xbc], 1
mov dword [esp + 0xc0], 0
mov dword [esp + 0x208], eax
lea eax, [esp + 0x208]
mov dword [esp + 0x20c], 0x41e510
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 1
call fcn.0040a660
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
sub edi, eax
mov dword [esp + 0x44], ecx
jae 0x4aab8f
xor ebx, ebx
jmp 0x4aaba5
add esi, edi
push eax
push esi
push ecx
mov esi, edx
call sub.msvcrt.dll_memcmp
mov edx, esi
add esp, 0xc
test eax, eax
sete bl
mov edi, dword [esp + 8]
mov esi, dword [esp]
test edx, edx
je 0x4aabc1
push dword [esp + 0x44]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test bl, bl
je 0x4aad03
mov eax, dword [0x6f11c8]
mov ebx, dword [ebp + 8]
cmp eax, 2
jbe 0x4aacc9
lea eax, [esp + 0x24]
mov ecx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
lea edx, [esp + 0x50]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x41e510
mov eax, dword [0x6f1080]
mov dword [esp + 0xb8], 3
mov dword [esp + 0xbc], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xc0], 0x2d
mov dword [esp + 0xc4], 0x620764
mov dword [esp + 0xc8], 1
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd4], edx
lea edx, [esp + 0xb8]
mov dword [esp + 0xd8], 1
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe4], 0x2d
mov dword [esp + 0xe0], str.locker::core::pipeline::file_worker_pool_coresrc_core_pipeline_file_worker_pool_core.rsCant_dispatch___
mov dword [esp + 0xe8], 0
mov dword [esp + 0xf0], 0x2a
mov dword [esp + 0xec], 0x6206f5
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0x45
cmp eax, 2
mov eax, 0x6857f8
cmove eax, dword [0x605020]
cmove ecx, dword [str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs]
push edx
push ecx
call dword [eax + 0x14]
add esp, 8
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x298], 0
mov dword [eax + 0x44], 0
mov dword [eax + 0x40], 2
je 0x4aa878
cmp dword [esp + 0x2a0], 0
je 0x4aa878
push dword [esp + 0x29c]
jmp 0x4aa86b
mov edi, dword [esp + 0x298]
mov ebx, dword [ebp + 8]
test edi, edi
jne 0x4aa31d
jmp 0x4aa33b
mov eax, 0xfffffff8
mov dword [esp + 4], ecx
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
sub eax, ecx
mov ecx, 0xffffffff
sbb ecx, 0
push 2
lea edx, [esp + 0xbc]
push edx
push ecx
push eax
push esi
call sub.KERNEL32.dll_SetFilePointerEx
test eax, eax
je 0x4aad96
test ebx, ebx
je 0x4aadae
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4aad74
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4aad86
mov dword [0x6f1130], eax
push dword [esp + 4]
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x4aadb3
mov ecx, dword [esp + 4]
mov edx, 1
call fcn.0040a640
ud2
call sub.KERNEL32.dll_GetLastError
mov eax, dword [0x6f11c8]
cmp eax, 2
ja 0x4aa65a
jmp 0x4aa74b
mov esi, 1
mov edx, esi
mov dword [esp + 0x44], ebx
lea ecx, [esp + 0x1c]
push dword [esp + 4]
call fcn.00502640
add esp, 4
cmp al, 3
jne 0x4aae09
mov eax, dword [edx + 4]
mov ebx, edx
push dword [edx]
call dword [eax]
add esp, 4
mov ecx, dword [ebx + 4]
cmp dword [ecx + 4], 0
je 0x4aadfb
mov eax, dword [ebx]
cmp dword [ecx + 8], 9
jb 0x4aaded
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push ebx
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp]
lea ecx, [esp + 0xb8]
mov edx, dword [eax + 4]
push dword [eax + 0xc]
call fcn.004ce5b0
add esp, 4
cmp dword [esp + 0xb8], 1
jne 0x4aae50
mov eax, dword [esp + 0xe4]
movsd xmm0, qword [esp + 0xdc]
mov dword [esp + 0xa8], eax
movsd qword [esp + 0xa0], xmm0
jmp 0x4aafb5
movzx eax, word [esp + 0xc5]
movsd xmm0, qword [esp + 0xcc]
movsd xmm2, qword [esp + 0xd4]
movsd xmm1, qword [esp + 0xdc]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0xc0]
mov bl, byte [esp + 0xc4]
mov bh, byte [esp + 0xc7]
mov edi, dword [esp + 0xc8]
lea ecx, [esp + 0x2c0]
mov dword [esp], eax
mov eax, dword [esp + 0xe4]
movsd qword [esp + 0x90], xmm0
movsd qword [esp + 0x98], xmm2
movsd qword [esp + 0xa0], xmm1
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xe8]
push 0x120
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
movsd xmm1, qword [esp + 0x98]
mov dword [esp + 0x298], esi
mov byte [esp + 0x29c], bl
mov byte [esp + 0x29f], bh
movsd xmm0, qword [esp + 0x90]
mov word [esp + 0x29d], ax
mov dword [esp + 0x2a0], edi
movsd qword [esp + 0x2ac], xmm1
movsd xmm1, qword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
movsd qword [esp + 0x2a4], xmm0
movsd qword [esp + 0x2b4], xmm1
mov dword [esp + 0x2bc], eax
call fcn.005b07a0
mov eax, dword [esp + 0x2f0]
cmp eax, 4
jbe 0x4aaf6c
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2d0]
jmp 0x4aaf77
lea ecx, [esp + 0x2d0]
mov dword [esp + 0x14], ecx
mov edx, dword [0x605080]
lea edi, [esp + 0xb8]
cmp edx, 5
jb 0x4aaf97
mov ecx, dword [0x60505c]
mov edx, dword [0x605060]
jmp 0x4aaf9d
lea ecx, [0x605060]
mov dword [esp + 0xc], ecx
cmp eax, edx
jae 0x4aafed
lea ecx, [esp + 0x298]
call fcn.004d2290
mov esi, dword [esp + 0x48]
mov ecx, 0x27
mov edx, 0x685552
push 0xb
call fcn.004cb170
add esp, 4
cmp dword [esp + 0x44], 0
mov ebx, edx
je 0x4aa60e
push esi
push 0
push dword [0x6f1130]
mov esi, eax
call sub.KERNEL32.dll_HeapFree
mov eax, esi
jmp 0x4aa60e
jbe 0x4ab014
call fcn.005b0600
mov eax, dword [esp + 0x2f0]
cmp eax, 4
jbe 0x4ab05d
mov eax, dword [esp + 0x2cc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2d0]
jmp 0x4ab068
shl eax, 3
shl edx, 3
test eax, eax
je 0x4aafef
test edx, edx
je 0x4aafef
mov ecx, dword [esp + 0x14]
mov edi, dword [ecx + eax - 4]
mov ebx, dword [ecx + eax - 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + edx - 8]
mov ecx, dword [ecx + edx - 4]
mov dword [esp], edi
cmp ebx, esi
sbb edi, ecx
lea edi, [esp + 0xb8]
jb 0x4aafa5
add eax, 0xfffffff8
add edx, 0xfffffff8
cmp esi, ebx
sbb ecx, dword [esp]
jae 0x4ab01a
jmp 0x4aafef
lea ecx, [esp + 0x2d0]
mov dword [esp + 0x14], ecx
mov edx, dword [0x6050b8]
cmp edx, 5
jb 0x4ab081
mov ecx, dword [0x605094]
mov edx, dword [0x605098]
jmp 0x4ab087
lea ecx, [0x605098]
mov dword [esp + 0xc], ecx
cmp eax, edx
jae 0x4ab0c4
mov ecx, dword [esp + 0x2c0]
mov eax, dword [esp + 0x2a0]
cmp ecx, 5
mov edx, ecx
cmovae edx, eax
test edx, edx
je 0x4aafa5
lea edx, [esp + 0x2a0]
cmp ecx, 4
jbe 0x4ab11c
mov esi, dword [esp + 0x29c]
mov edi, eax
jmp 0x4ab120
ja 0x4aafa5
mov ecx, eax
shl eax, 3
shl edx, 3
test eax, eax
mov dword [esp], eax
je 0x4ab08f
test edx, edx
je 0x4ab08f
mov eax, dword [esp]
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx + eax - 8]
mov eax, dword [ecx + eax - 4]
mov ecx, dword [esp + 0xc]
mov esi, dword [ecx + edx - 8]
mov ecx, dword [ecx + edx - 4]
mov edi, eax
cmp ebx, esi
sbb edi, ecx
lea edi, [esp + 0xb8]
jb 0x4ab08f
add dword [esp], 0xfffffff8
add edx, 0xfffffff8
cmp esi, ebx
sbb ecx, eax
mov eax, dword [esp]
jae 0x4ab0d2
jmp 0x4aafa5
mov esi, edx
mov edi, ecx
test edi, edi
je 0x4ab6b5
test esi, esi
je 0x4ab6b5
mov ebx, dword [esi + edi*8 - 4]
bsr esi, dword [esi + edi*8 - 8]
mov edi, 0x3f
cmovne edi, esi
bsr esi, ebx
xor edi, 0x1f
xor esi, 0x1f
add edi, 0x20
test ebx, ebx
cmove esi, edi
cmp ecx, 5
mov edi, ecx
cmovae edi, eax
shl edi, 6
sub edi, esi
add edi, 7
cmp edi, 0x58
lea edi, [esp + 0xb8]
jb 0x4aafa5
cmp ecx, 5
mov esi, ecx
cmovae esi, eax
test esi, esi
je 0x4ab18e
cmp ecx, 4
jbe 0x4ab192
mov edx, dword [esp + 0x29c]
mov esi, eax
jmp 0x4ab194
xor eax, eax
jmp 0x4ab1d8
mov esi, ecx
test esi, esi
je 0x4ab6b5
test edx, edx
je 0x4ab6b5
mov edi, dword [edx + esi*8 - 4]
bsr edx, dword [edx + esi*8 - 8]
mov esi, 0x3f
cmovne esi, edx
bsr edx, edi
xor esi, 0x1f
xor edx, 0x1f
add esi, 0x20
test edi, edi
lea edi, [esp + 0xb8]
cmove edx, esi
cmp ecx, 5
cmovb eax, ecx
shl eax, 6
sub eax, edx
add eax, 7
lea ecx, [esp + 0xb8]
lea edx, [esp + 0x298]
shr eax, 3
push eax
push dword [esp + 8]
push dword [esp + 0x50]
call fcn.005abdf0
add esp, 0xc
cmp dword [esp + 0xb8], 1
je 0x4aafa5
mov esi, dword [esp + 0xc4]
test esi, esi
je 0x4ab694
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x4c], eax
mov al, byte [edi]
mov ecx, eax
not al
dec cl
and al, cl
shr al, 7
movzx ecx, al
call fcn.005f0b50
cmp esi, 1
mov byte [esp + 0x23], al
je 0x4ab69f
mov al, byte [edi + 1]
mov ecx, eax
not al
xor cl, 2
dec cl
and al, cl
shr al, 7
movzx ecx, al
call fcn.005f0b50
mov byte [esp + 0x22], al
lea eax, [edi + esi]
mov dword [esp + 0xb0], esi
mov esi, edi
mov bh, 1
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x14], eax
mov eax, 2
mov dword [esp + 0xc], esi
mov dword [esp], esi
xor esi, esi
test cl, 1
je 0x4ab2e6
jmp 0x4ab304
lea eax, [edi + 1]
mov dword [esp + 4], eax
mov al, byte [ecx]
inc ecx
mov dword [esp], ecx
mov ecx, eax
not al
dec cl
and al, cl
shr al, 7
movzx ecx, al
call fcn.005f0b50
movzx ecx, bh
mov bl, al
call fcn.005f0b50
and al, bl
movzx ecx, al
call fcn.005f0b50
movzx eax, al
xor edi, esi
dec bl
mov cl, 1
neg eax
and bh, bl
and edi, eax
xor eax, eax
xor esi, edi
mov edi, dword [esp + 4]
test cl, 1
jne 0x4ab304
mov edx, dword [esp + 0x14]
mov ecx, dword [esp]
mov byte [esp + 4], bh
lea ebx, [eax - 1]
sub edx, ecx
cmp edx, ebx
mov bh, byte [esp + 4]
jbe 0x4ab30d
add ecx, eax
add edi, eax
jmp 0x4ab307
mov ecx, dword [esp]
cmp ecx, dword [esp + 0x14]
jne 0x4ab296
mov ecx, 9
sub ecx, esi
shr ecx, 0x1f
call fcn.005f0b50
mov byte [esp], al
mov al, byte [esp + 0x22]
and al, byte [esp + 0x23]
movzx ecx, al
call fcn.005f0b50
not bh
mov bl, al
and bh, 1
movzx ecx, bh
call fcn.005f0b50
and al, bl
movzx ecx, al
call fcn.005f0b50
and al, byte [esp]
movzx ecx, al
call fcn.005f0b50
test al, al
je 0x4ab3ae
mov edx, dword [esp + 0xb0]
movzx ebx, al
inc esi
neg ebx
and ebx, esi
cmp edx, ebx
jb 0x4ab6ce
sub edx, ebx
js 0x4ab64f
mov edi, edx
test edx, edx
je 0x4ab3d6
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4ab393
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ab3a0
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4ab3db
mov ecx, edi
mov edx, 1
call fcn.0040a640
ud2
cmp dword [esp + 0x4c], 0
lea edi, [esp + 0xb8]
je 0x4aafa5
push dword [esp + 0xc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x4aafa5
mov eax, 1
add ebx, dword [esp + 0xc]
push edi
push ebx
mov dword [esp + 8], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esp + 0x4c], 0
je 0x4ab406
push dword [esp + 0xc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea ecx, [esp + 0x298]
call fcn.004d2290
cmp dword [esp + 0x44], 0
je 0x4ab42a
push dword [esp + 0x48]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp]
lea ecx, [esp + 0x90]
push edi
call fcn.0040b080
add esp, 4
mov esi, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
xor eax, eax
lea ecx, [esp + 0xb8]
cmp esi, 1
sete al
push dword [esp + eax*4 + 0x98]
call fcn.0051c560
add esp, 4
cmp dword [esp + 0xb8], 1
jne 0x4ab4a3
mov esi, dword [esp + 0xbc]
mov eax, dword [esi]
cmp eax, 1
je 0x4ab5a7
test eax, eax
jne 0x4ab5f6
cmp dword [esi + 8], 0
je 0x4ab5f6
lea eax, [esi + 4]
mov dword [esp + 4], eax
jmp 0x4ab5e3
movsd xmm0, qword [esp + 0xc4]
mov eax, dword [esp + 0xc0]
mov bl, byte [esp + 0xf4]
movsd qword [esp + 0x298], xmm0
movsd xmm0, qword [esp + 0xcc]
mov dword [esp + 4], eax
movzx eax, word [esp + 0xf5]
movsd qword [esp + 0x2a0], xmm0
movsd xmm0, qword [esp + 0xd4]
mov word [esp + 0x40], ax
mov al, byte [esp + 0xf7]
movsd qword [esp + 0x2a8], xmm0
movsd xmm0, qword [esp + 0xdc]
mov byte [esp + 0x42], al
mov al, byte [esp + 0x42]
movsd qword [esp + 0x2b0], xmm0
movsd xmm0, qword [esp + 0xe4]
movsd xmm2, qword [esp + 0x2b0]
mov byte [esp + 0x3e], al
movzx eax, word [esp + 0x40]
movsd qword [esp + 0x2b8], xmm0
movsd xmm0, qword [esp + 0xec]
movsd xmm1, qword [esp + 0x2b8]
movsd qword [esp + 0x68], xmm2
movsd xmm2, qword [esp + 0x298]
mov word [esp + 0x3c], ax
movsd qword [esp + 0x2c0], xmm0
movsd qword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x2a8]
movsd xmm0, qword [esp + 0x2c0]
movsd qword [esp + 0x50], xmm2
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x2a0]
movsd qword [esp + 0x78], xmm0
movsd qword [esp + 0x58], xmm1
jmp 0x4ab60d
cmp byte [esi + 4], 3
jne 0x4ab5f6
mov ebx, dword [esi + 8]
lea eax, [esi + 8]
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
push dword [ebx]
call dword [eax]
add esp, 4
mov ecx, dword [ebx + 4]
cmp dword [ecx + 4], 0
je 0x4ab5e3
mov eax, dword [ebx]
cmp dword [ecx + 8], 9
jb 0x4ab5d5
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 4]
push dword [eax]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x90]
mov bl, 2
test esi, esi
je 0x4ab62f
cmp dword [esp + 0x98], 0
je 0x4ab62f
push dword [esp + 0x94]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
test edi, edi
je 0x4ab643
push dword [esp]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea edi, [esp + 0xb8]
jmp 0x4aa420
call fcn.0040a620
ud2
mov ecx, esi
mov edx, 1
call fcn.0040a640
ud2
push 0x6d336c
call fcn.0045a820
add esp, 4
ud2
mov ecx, dword [esp + 0x10]
mov edx, 1
call fcn.0040a640
ud2
mov ecx, 0x48
mov edx, 8
call fcn.0040a640
ud2
xor ecx, ecx
xor edx, edx
push 0x6d0e08
jmp 0x4ab6ab
mov ecx, 1
mov edx, esi
push 0x6d0e18
call fcn.0045a150
add esp, 4
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36librarycore_src_strpattern.rs
mov edx, 0x2b
push 0x6d0d0c
call fcn.0045aec0
add esp, 4
ud2
mov ecx, ebx
push 0x6d0df8
call fcn.0045a820
add esp, 4
ud2