Function at 0x5299b4
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
push esi
push edi
mov dword [ebp - 0x210], 0
mov edi, dword [ebp + 8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
test ecx, ecx
ja 0x5299f7
push 0
push str.Part_Number_is_Empty
push str.Part_Number_Mapping_to_FlashID_fail__
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
xor eax, eax
jmp 0x529d08
cmp dword [ebp + 0x10], 0
jne 0x529a10
push 0
lea eax, [ebp - 0x20c]
push eax
call fcn.0052981a
add esp, 8
jmp 0x529a36
mov edi, dword [ebp + 0x10]
lea edx, [ebp - 0x20c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x529d02
mov dword [ebp - 0x214], 0
push 0x5cb390
lea edx, [ebp - 0x20c]
push edx
call fcn.0054cc9f
add esp, 8
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x529cd8
mov dword [ebp - 0x108], 0
jmp 0x529a98
mov eax, dword [ebp - 0x108]
add eax, 1
mov dword [ebp - 0x108], eax
mov edi, dword [ebp + 8]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 0xffffffff
cmp dword [ebp - 0x108], ecx
jge 0x529b2a
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x108]
movsx edx, byte [ecx]
cmp edx, 0x61
jl 0x529ad3
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x108]
movsx ecx, byte [eax]
cmp ecx, 0x7a
jg 0x529ad3
jmp 0x529a89
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x108]
movsx eax, byte [edx]
cmp eax, 0x41
jl 0x529af7
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x108]
movsx edx, byte [ecx]
cmp edx, 0x5a
jg 0x529af7
jmp 0x529a89
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x108]
movsx ecx, byte [eax]
cmp ecx, 0x30
jl 0x529b1e
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x108]
movsx eax, byte [edx]
cmp eax, 0x39
jg 0x529b1e
jmp 0x529a89
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x108]
mov byte [ecx], 0
mov edx, dword [ebp - 0x104]
mov eax, dword [edx + 0xc]
and eax, 0x10
test eax, eax
jne 0x529cc7
mov ecx, dword [ebp - 0x104]
push ecx
push pe_nt_image_headers32
lea edx, [ebp - 0x100]
push edx
call fcn.0054e601
add esp, 0xc
mov dword [ebp - 0x218], 1
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x100]
push ecx
call fcn.0054cb20
add esp, 8
test eax, eax
je 0x529cc2
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x21c], 0
jmp 0x529ba3
mov edx, dword [ebp - 0x21c]
add edx, 1
mov dword [ebp - 0x21c], edx
cmp dword [ebp - 0x21c], 4
jge 0x529cad
mov eax, dword [ebp - 0x21c]
imul eax, eax, 3
mov byte [ebp + eax - 0xfc], 0
mov ecx, dword [ebp - 0x21c]
imul ecx, ecx, 3
xor edx, edx
mov dl, byte [ebp + ecx - 0xfe]
cmp edx, 0x30
jl 0x529bef
mov eax, dword [ebp - 0x21c]
imul eax, eax, 3
xor ecx, ecx
mov cl, byte [ebp + eax - 0xfe]
cmp ecx, 0x39
jle 0x529c57
mov edx, dword [ebp - 0x21c]
imul edx, edx, 3
xor eax, eax
mov al, byte [ebp + edx - 0xfe]
cmp eax, 0x61
jl 0x529c1d
mov ecx, dword [ebp - 0x21c]
imul ecx, ecx, 3
xor edx, edx
mov dl, byte [ebp + ecx - 0xfe]
cmp edx, 0x66
jle 0x529c57
mov eax, dword [ebp - 0x21c]
imul eax, eax, 3
xor ecx, ecx
mov cl, byte [ebp + eax - 0xfe]
cmp ecx, 0x41
jl 0x529c4b
mov edx, dword [ebp - 0x21c]
imul edx, edx, 3
xor eax, eax
mov al, byte [ebp + edx - 0xfe]
cmp eax, 0x46
jle 0x529c57
mov dword [ebp - 0x224], 0
jmp 0x529c61
mov dword [ebp - 0x224], 1
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x220], ecx
cmp dword [ebp - 0x220], 0
je 0x529c9c
mov edx, dword [ebp - 0x21c]
imul edx, edx, 3
lea eax, [ebp + edx - 0xfe]
push eax
call fcn.00529529
add esp, 4
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x21c]
mov byte [ecx], al
jmp 0x529ca8
mov dword [ebp - 0x218], 0
jmp 0x529cad
jmp 0x529b94
cmp dword [ebp - 0x218], 0
je 0x529cc2
mov dword [ebp - 0x210], 1
jmp 0x529cc7
jmp 0x529b2a
mov edx, dword [ebp - 0x104]
push edx
call fcn.0054cbf2
add esp, 4
jmp 0x529d02
mov eax, dword [ebp - 0x214]
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
cmp eax, 5
jge 0x529d02
push 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x529a56
mov eax, dword [ebp - 0x210]
pop edi
pop esi
mov esp, ebp
pop ebp
ret