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

Disassembly:
push 0x6c
mov eax, 0x1005b2de
call fcn.10057b82
mov edx, ecx
mov dword [ebp - 0x68], edx
mov ebx, dword [ebp + 8]
fild qword [edx + 0x38]
mov dword [ebp - 0x50], ebx
mov eax, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x4c]
fistp qword [ebp - 0x5c]
nop
cmp eax, dword [ebp - 0x5c]
jne 0x100252e9
cmp ecx, dword [ebp - 0x58]
jne 0x100252e9
mov eax, 0xe1111004
jmp 0x100257fe
fild qword [edx + 0x38]
fistp qword [ebp - 0x5c]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
nop
xor esi, esi
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x6c], esi
push 0x30
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 1
push esi
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
lea edi, [ebx + 0x10]
mov dword [ebp - 0x58], edi
push dword [edi]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x100253bf
push 0x5c
push dword [edi]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x10025360
push 0x2f
push dword [edi]
call dword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcsrchr]
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x10025360
mov ecx, edi
call fcn.100131e2
mov dword [ebp - 0x40], eax
jmp 0x10025387
lea eax, [esi + 2]
push eax
lea ecx, [ebp - 0x70]
call fcn.100264b0
sub esi, dword [edi]
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0x70]
sar esi, 1
push esi
push dword [edi]
mov dword [ebp - 0x40], eax
call fcn.10023637
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x24]
lea edi, [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
lea eax, [ebx + 0x14]
mov esi, eax
mov dword [ebp - 0x54], eax
lea eax, [ebx + 0xc]
mov ecx, eax
mov dword [ebp - 0x44], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.100131e2
mov ecx, dword [ebx + 0x3c]
xor esi, esi
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x38]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], ecx
jmp 0x100254a8
lea eax, [ebx + 0xc]
push dword [eax]
mov dword [ebp - 0x44], eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x100257e5
mov eax, dword [ebp - 0x68]
mov edi, esp
mov edx, dword [ebx + 0x40]
shr edx, 1
and edx, 1
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov ebx, dword [eax + 0x24]
lea eax, [ebp - 0x40]
push eax
mov eax, dword [ebp - 0x44]
push edx
push dword [eax]
push ecx
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x1002540b
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x100257ea
cmp edi, 1
je 0x100257e5
mov ebx, dword [ebp - 0x50]
mov edx, 0x1006aa4c
mov ecx, esi
lea edi, [ebx + 0x14]
mov dword [ebp - 0x54], edi
mov eax, dword [edi + ecx*4]
cmp eax, dword [edx + ecx*4]
jne 0x10025448
inc ecx
cmp ecx, 4
jne 0x1002542e
lea esi, [ebp - 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
lea edi, [ebx + 0x14]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x48], eax
cmp eax, 0xffffffff
jne 0x1002545c
mov eax, dword [ebp - 0x2c]
mov dword [ebx + 0x24], eax
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0x38], ecx
add ecx, 0x2ac18000
push esi
mov dword [ebx + 0x3c], eax
adc eax, 0xfe624e21
push 0x989680
push eax
push ecx
call fcn.10057e00
mov dword [ebx + 0x34], eax
lea edx, [ebp - 0x3c]
mov ecx, esi
mov eax, dword [edi + ecx*4]
cmp eax, dword [edx + ecx*4]
jne 0x100257b0
inc ecx
cmp ecx, 4
jne 0x10025488
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x48]
cmp ebx, edx
jne 0x100257b6
mov dword [ebp - 0x4c], esi
mov eax, dword [ebp - 0x68]
mov edi, esp
mov byte [ebp - 4], 2
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov ebx, dword [eax + 0x2c]
lea eax, [ebp - 0x4c]
push eax
push 0x20
push esi
push esi
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x100254de
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x100257a6
cmp edi, 1
jne 0x100255a6
mov ebx, dword [0x1006aa3c]
mov eax, dword [ebx + 0x24]
cmp eax, dword [ebx + 0x28]
je 0x1002559c
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10025551
mov ecx, dword [eax]
mov esi, esp
mov edi, dword [ecx + 0x14]
lea ecx, [ebp - 0x48]
push ecx
push eax
mov ecx, edi
call dword [0x1006b410]
call edi
cmp esi, esp
je 0x10025532
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
jns 0x10025540
push dword [ebp - 0x48]
jmp 0x100257a0
mov edi, dword [ebp - 0x50]
mov esi, dword [ebp - 0x48]
mov ebx, dword [0x1006aa3c]
lea ecx, [edi + 0x14]
jmp 0x10025557
mov edi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov eax, dword [edi + 0x34]
add ebx, 0x24
mov edx, dword [edi + 0x24]
mov ecx, dword [ecx]
mov edi, dword [edi + 0xc]
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x68]
fild qword [ebx + 0x38]
fistp qword [ebp - 0x5c]
nop
mov ebx, dword [ebp - 0x54]
push esi
push eax
push ecx
push edx
push edi
push dword [ebp - 0x58]
push dword [ebp - 0x5c]
push 0x10006010
push 0x10005c60
push ebx
call fcn.1004ef03
add esp, 0x28
push dword [ebp - 0x48]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, 0xe1111004
jmp 0x100257a6
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 4
mov edi, esp
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov ebx, dword [ecx + 0xc]
lea ecx, [ebp - 0x60]
push ecx
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x100255d1
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x1002579d
mov edi, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 0x60], esi
cmp dword [edi], ebx
je 0x100255f2
push dword [edi]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [edi], ebx
mov eax, dword [ebp - 0x4c]
mov edi, esp
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x20]
lea ecx, [ebp - 0x64]
push ecx
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x10025616
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x1002579d
cmp word [ebp - 0x64], 0
jne 0x100256f0
mov dword [ebp - 0x44], esi
mov byte [ebp - 4], 5
mov edi, esp
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x18]
lea ecx, [ebp - 0x44]
push ecx
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x10025656
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x100256e3
mov dword [ebp - 0x48], esi
mov byte [ebp - 4], 6
mov edi, esp
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x20]
lea ecx, [ebp - 0x48]
push ecx
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x1002568b
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x100256db
mov byte [ebp - 4], 7
mov edi, esp
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x50]
add ecx, 0x50
push ecx
push 0x100047b8
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x100256c0
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x100256db
lea ecx, [ebp - 0x48]
call fcn.1000b6bc
lea ecx, [ebp - 0x44]
call fcn.1000b6bc
jmp 0x10025791
lea ecx, [ebp - 0x48]
call fcn.1000b6bc
lea ecx, [ebp - 0x44]
call fcn.1000b6bc
jmp 0x1002579d
mov edx, dword [0x1006aa3c]
add edx, 0x24
mov eax, dword [edx]
cmp eax, dword [edx + 4]
je 0x10025723
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push dword [ecx]
push dword [eax + 0x24]
mov eax, dword [ebp - 0x44]
push dword [eax]
push 0x10006150
push 0x10005c60
push edx
call fcn.1004ef03
add esp, 0x18
mov dword [ebp - 0x44], esi
mov byte [ebp - 4], 8
mov edi, esp
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
mov ebx, dword [ecx + 0x24]
lea ecx, [ebp - 0x44]
push ecx
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x1002574e
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x10025795
mov byte [ebp - 4], 9
mov edi, esp
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov ebx, dword [ecx]
mov ecx, dword [ebp - 0x50]
add ecx, 0x50
push ecx
push 0x100047b8
push eax
mov ecx, ebx
call dword [0x1006b410]
call ebx
cmp edi, esp
je 0x10025783
mov ecx, 4
int 0x29
mov edi, eax
test edi, edi
js 0x10025795
lea ecx, [ebp - 0x44]
call fcn.1000b6bc
mov edi, esi
jmp 0x1002579d
lea ecx, [ebp - 0x44]
call fcn.1000b6bc
push dword [ebp - 0x60]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
lea ecx, [ebp - 0x4c]
call fcn.1000b6bc
jmp 0x100257ea
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x48]
mov ecx, dword [0x1006aa3c]
add ecx, 0x48
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x100257e5
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x44]
push edx
push dword [edi]
push ebx
push dword [eax]
push 0x10005ec0
push 0x10005c60
push ecx
call fcn.1004ef03
add esp, 0x20
mov edi, 0xe1111004
push dword [ebp - 0x6c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 0x70]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, edi
call fcn.10057b1f
ret 4