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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x468
mov eax, dword [0x1017004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
push edi
xor edi, edi
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x44c], edi
mov dword [ebp - 0x408], edi
mov dword [ebp - 0x430], edi
mov dword [ebp - 0x40c], edi
mov dword [ebp - 0x424], edi
mov dword [ebp - 0x438], edi
mov dword [ebp - 0x454], edi
mov dword [ebp - 0x42c], edi
cmp eax, edi
jne 0x100e106
call dword [sym.imp.msvcrt.dll__errno]
push edi
push edi
push edi
push edi
push edi
mov dword [eax], 0x16
call fcn.0100cde6
add esp, 0x14
or eax, 0xffffffff
jmp 0x100eb47
cmp esi, edi
je 0x100e0e5
movzx ecx, word [esi]
mov dword [ebp - 0x420], edi
mov dword [ebp - 0x414], edi
mov dword [ebp - 0x440], edi
mov dword [ebp - 0x448], edi
mov dword [ebp - 0x41c], ecx
cmp cx, di
je 0x100eb41
inc esi
inc esi
cmp dword [ebp - 0x420], edi
mov dword [ebp - 0x450], esi
jl 0x100eb2c
lea eax, [ecx - 0x20]
cmp ax, 0x58
ja 0x100e160
movzx eax, cx
movzx eax, byte [eax + 0x1009ac8]
and eax, 0xf
jmp 0x100e162
xor eax, eax
mov edx, dword [ebp - 0x440]
imul eax, eax, 9
movzx eax, byte [eax + edx + 0x1009ae8]
push 8
shr eax, 4
pop edx
mov dword [ebp - 0x440], eax
cmp eax, edx
je 0x100e0e5
cmp eax, 7
ja case.default.0x100e190
jmp dword [eax*4 + 0x100eb56]
or dword [ebp - 0x40c], 0xffffffff
mov dword [ebp - 0x438], edi
mov dword [ebp - 0x454], edi
mov dword [ebp - 0x430], edi
mov dword [ebp - 0x424], edi
mov dword [ebp - 0x408], edi
mov dword [ebp - 0x42c], edi
jmp 0x100eb17
movzx eax, cx
sub eax, 0x20
je 0x100e217
sub eax, 3
je 0x100e208
sub eax, edx
je 0x100e1fc
dec eax
dec eax
je 0x100e1f0
sub eax, 3
jne case.default.0x100e190
or dword [ebp - 0x408], edx
jmp 0x100eb17
or dword [ebp - 0x408], 4
jmp 0x100eb17
or dword [ebp - 0x408], 1
jmp 0x100eb17
or dword [ebp - 0x408], 0x80
jmp 0x100eb17
or dword [ebp - 0x408], 2
jmp 0x100eb17
cmp cx, 0x2a
jne 0x100e254
mov eax, dword [ebx]
add ebx, 4
cmp eax, edi
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x430], eax
jge 0x100eb17
or dword [ebp - 0x408], 4
neg dword [ebp - 0x430]
jmp 0x100eb17
mov eax, dword [ebp - 0x430]
imul eax, eax, 0xa
movzx ecx, cx
lea eax, [eax + ecx - 0x30]
mov dword [ebp - 0x430], eax
jmp 0x100eb17
mov dword [ebp - 0x40c], edi
jmp 0x100eb17
cmp cx, 0x2a
jne 0x100e2a5
mov eax, dword [ebx]
add ebx, 4
cmp eax, edi
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x40c], eax
jge 0x100eb17
or dword [ebp - 0x40c], 0xffffffff
jmp 0x100eb17
mov eax, dword [ebp - 0x40c]
imul eax, eax, 0xa
movzx ecx, cx
lea eax, [eax + ecx - 0x30]
mov dword [ebp - 0x40c], eax
jmp 0x100eb17
movzx eax, cx
cmp eax, 0x49
je 0x100e319
cmp eax, 0x68
je 0x100e30d
cmp eax, 0x6c
je 0x100e2ea
cmp eax, 0x77
jne 0x100eb17
or dword [ebp - 0x408], 0x800
jmp 0x100eb17
cmp word [esi], 0x6c
jne 0x100e301
inc esi
inc esi
or dword [ebp - 0x408], 0x1000
jmp 0x100eb17
or dword [ebp - 0x408], 0x10
jmp 0x100eb17
or dword [ebp - 0x408], 0x20
jmp 0x100eb17
movzx eax, word [esi]
cmp ax, 0x36
jne 0x100e33b
cmp word [esi + 2], 0x34
jne 0x100e33b
add esi, 4
or dword [ebp - 0x408], 0x8000
jmp 0x100eb17
cmp ax, 0x33
jne 0x100e35a
cmp word [esi + 2], 0x32
jne 0x100e35a
add esi, 4
and dword [ebp - 0x408], 0xffff7fff
jmp 0x100eb17
cmp ax, 0x64
je 0x100eb17
cmp ax, 0x69
je 0x100eb17
cmp ax, 0x6f
je 0x100eb17
cmp ax, 0x75
je 0x100eb17
cmp ax, 0x78
je 0x100eb17
cmp ax, 0x58
je 0x100eb17
mov dword [ebp - 0x440], edi
mov eax, dword [ebp - 0x428]
lea edi, [ebp - 0x420]
mov esi, ecx
mov dword [ebp - 0x42c], 1
call fcn.0100dfa7
jmp 0x100eb0f
movzx eax, cx
cmp eax, 0x64
jg 0x100e615
je 0x100e668
cmp eax, 0x53
jg 0x100e4ed
je 0x100e458
sub eax, 0x41
je 0x100e3f0
dec eax
dec eax
je 0x100e43c
dec eax
dec eax
je 0x100e3f0
dec eax
dec eax
jne 0x100e96c
add ecx, 0x20
mov dword [ebp - 0x438], 1
mov dword [ebp - 0x41c], ecx
or dword [ebp - 0x408], 0x40
cmp dword [ebp - 0x40c], edi
lea eax, [ebp - 0x404]
mov dword [ebp - 0x410], eax
mov eax, reloc.USER32.dll_SetTimer
mov dword [ebp - 0x434], eax
jge 0x100e697
mov dword [ebp - 0x40c], 6
jmp 0x100e6fe
test dword [ebp - 0x408], 0x830
jne 0x100e50f
or dword [ebp - 0x408], 0x20
jmp 0x100e50f
test dword [ebp - 0x408], 0x830
jne 0x100e46b
or dword [ebp - 0x408], 0x20
mov edi, dword [ebp - 0x40c]
cmp edi, 0xffffffff
jne 0x100e47b
mov edi, 0x7fffffff
add ebx, 4
test byte [ebp - 0x408], 0x20
mov dword [ebp - 0x418], ebx
mov ebx, dword [ebx - 4]
mov dword [ebp - 0x410], ebx
je 0x100e930
test ebx, ebx
jne 0x100e4a9
mov eax, dword [0x10174a8]
mov dword [ebp - 0x410], eax
and dword [ebp - 0x414], 0
mov esi, dword [ebp - 0x410]
test edi, edi
jle 0x100e96c
mov al, byte [esi]
test al, al
je 0x100e96c
movzx eax, al
push eax
call dword [sym.imp.msvcrt.dll_isleadbyte]
pop ecx
test eax, eax
je 0x100e4d8
inc esi
inc esi
inc dword [ebp - 0x414]
cmp dword [ebp - 0x414], edi
jge 0x100e96c
jmp 0x100e4be
sub eax, 0x58
je 0x100e788
dec eax
dec eax
je 0x100e588
sub eax, 7
je 0x100e403
dec eax
dec eax
jne 0x100e96c
movzx eax, word [ebx]
add ebx, 4
xor esi, esi
inc esi
test byte [ebp - 0x408], 0x20
mov dword [ebp - 0x42c], esi
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x458], eax
je 0x100e56a
mov byte [ebp - 0x444], al
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
mov byte [ebp - 0x443], 0
push dword [eax]
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x404]
push eax
call dword [sym.imp.msvcrt.dll_mbtowc]
add esp, 0xc
test eax, eax
jge 0x100e571
mov dword [ebp - 0x454], esi
jmp 0x100e571
mov word [ebp - 0x404], ax
lea eax, [ebp - 0x404]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x414], esi
jmp 0x100e96c
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 0x418], ebx
cmp eax, edi
je 0x100e5f9
mov esi, dword [eax + 4]
cmp esi, edi
je 0x100e5f9
movzx ecx, word [eax]
cmp word [eax + 2], cx
jb 0x100e0e5
test dword [ebp - 0x408], 0x800
movzx eax, cx
je 0x100e5e8
xor ecx, ecx
mov edx, eax
not edx
inc ecx
test cl, dl
je 0x100e0e5
mov edx, esi
not edx
test cl, dl
je 0x100e0e5
mov dword [ebp - 0x410], esi
shr eax, 1
mov dword [ebp - 0x42c], ecx
jmp 0x100e966
mov dword [ebp - 0x42c], edi
mov dword [ebp - 0x410], esi
jmp 0x100e966
mov eax, dword [0x10174a8]
mov dword [ebp - 0x410], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100e607
sub eax, edx
jmp 0x100e966
cmp eax, 0x70
jg 0x100e794
je 0x100e782
cmp eax, 0x65
jl 0x100e96c
cmp eax, 0x67
jle 0x100e403
cmp eax, 0x69
je 0x100e668
cmp eax, 0x6e
je 0x100e0e5
cmp eax, 0x6f
jne 0x100e96c
test byte [ebp - 0x408], 0x80
mov dword [ebp - 0x41c], edx
je 0x100e679
or dword [ebp - 0x408], reloc.USER32.dll_SetTimer
jmp 0x100e679
or dword [ebp - 0x408], 0x40
mov dword [ebp - 0x41c], 0xa
mov eax, dword [ebp - 0x408]
test eax, 0x8000
je 0x100e7f8
add ebx, edx
mov eax, dword [ebx - 8]
mov edx, dword [ebx - 4]
jmp 0x100e82d
jne 0x100e6ab
cmp cx, 0x67
jne 0x100e6fe
mov dword [ebp - 0x40c], 1
jmp 0x100e6fe
cmp dword [ebp - 0x40c], eax
jle 0x100e6b9
mov dword [ebp - 0x40c], eax
mov edi, 0xa3
cmp dword [ebp - 0x40c], edi
jle 0x100e6fe
mov esi, dword [ebp - 0x40c]
add esi, 0x15d
push esi
call dword [sym.imp.msvcrt.dll_malloc]
pop ecx
mov ecx, dword [ebp - 0x41c]
mov dword [ebp - 0x448], eax
test eax, eax
je 0x100e6f8
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x434], esi
jmp 0x100e6fe
mov dword [ebp - 0x40c], edi
test byte [ebp - 0x408], 0x80
je 0x100e711
or dword [ebp - 0x438], 0x80
mov eax, dword [ebx]
push dword [ebp - 0x438]
mov esi, dword [ebp - 0x410]
push dword [ebp - 0x40c]
add ebx, 8
mov dword [ebp - 0x468], eax
mov eax, dword [ebx - 4]
mov dword [ebp - 0x464], eax
movsx eax, cl
push eax
push dword [ebp - 0x434]
lea eax, [ebp - 0x468]
push esi
push eax
mov dword [ebp - 0x418], ebx
call fcn.0100d256
add esp, 0x18
cmp byte [esi], 0x2d
jne 0x100e76c
or dword [ebp - 0x408], 0x100
inc dword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
je 0x100e60e
jmp 0x100e775
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x44c], 7
jmp 0x100e7b8
sub eax, 0x73
je 0x100e46b
dec eax
dec eax
je 0x100e66f
sub eax, 3
jne 0x100e96c
mov dword [ebp - 0x44c], 0x27
test byte [ebp - 0x408], 0x80
mov dword [ebp - 0x41c], 0x10
je 0x100e679
push 0x30
pop eax
mov word [ebp - 0x43c], ax
mov eax, dword [ebp - 0x44c]
add eax, 0x51
mov word [ebp - 0x43a], ax
mov dword [ebp - 0x424], 2
jmp 0x100e679
test eax, 0x1000
jne 0x100e68a
add ebx, 4
test al, 0x20
je 0x100e821
mov dword [ebp - 0x418], ebx
test al, 0x40
je 0x100e81a
movsx eax, word [ebx - 4]
jmp 0x100e81e
movzx eax, word [ebx - 4]
cdq
jmp 0x100e833
test al, 0x40
mov eax, dword [ebx - 4]
je 0x100e82b
cdq
jmp 0x100e82d
xor edx, edx
mov dword [ebp - 0x418], ebx
test byte [ebp - 0x408], 0x40
je 0x100e857
cmp edx, edi
jg 0x100e857
jl 0x100e846
cmp eax, edi
jae 0x100e857
neg eax
adc edx, 0
neg edx
or dword [ebp - 0x408], 0x100
test dword [ebp - 0x408], 0x9000
mov ebx, edx
mov edi, eax
jne 0x100e869
xor ebx, ebx
cmp dword [ebp - 0x40c], 0
jge 0x100e87e
mov dword [ebp - 0x40c], 1
jmp 0x100e898
and dword [ebp - 0x408], 0xfffffff7
mov eax, reloc.USER32.dll_SetTimer
cmp dword [ebp - 0x40c], eax
jle 0x100e898
mov dword [ebp - 0x40c], eax
mov eax, edi
or eax, ebx
jne 0x100e8a4
and dword [ebp - 0x424], eax
lea esi, [ebp - 0x205]
mov eax, dword [ebp - 0x40c]
dec dword [ebp - 0x40c]
test eax, eax
jg 0x100e8c0
mov eax, edi
or eax, ebx
je 0x100e8ed
mov eax, dword [ebp - 0x41c]
cdq
push edx
push eax
push ebx
push edi
call fcn.010075e3
add ecx, 0x30
cmp ecx, 0x39
mov dword [ebp - 0x45c], ebx
mov edi, eax
mov ebx, edx
jle 0x100e8e8
add ecx, dword [ebp - 0x44c]
mov byte [esi], cl
dec esi
jmp 0x100e8aa
lea eax, [ebp - 0x205]
sub eax, esi
inc esi
test dword [ebp - 0x408], 0x200
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], esi
je 0x100e96c
test eax, eax
je 0x100e919
mov eax, esi
cmp byte [eax], 0x30
je 0x100e96c
dec dword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
inc dword [ebp - 0x414]
mov byte [eax], 0x30
jmp 0x100e96c
test ebx, ebx
jne 0x100e93f
mov eax, dword [0x10174ac]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x42c], 1
jmp 0x100e95a
dec edi
cmp word [eax], 0
je 0x100e95e
inc eax
inc eax
test edi, edi
jne 0x100e951
sub eax, dword [ebp - 0x410]
sar eax, 1
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x454], 0
jne 0x100eaec
mov eax, dword [ebp - 0x408]
test al, 0x40
je 0x100e9ae
test eax, 0x100
je 0x100e98e
push 0x2d
jmp 0x100e99c
test al, 1
je 0x100e996
push 0x2b
jmp 0x100e99c
test al, 2
je 0x100e9ae
push 0x20
pop ecx
mov word [ebp - 0x43c], cx
mov dword [ebp - 0x424], 1
mov esi, dword [ebp - 0x430]
sub esi, dword [ebp - 0x414]
sub esi, dword [ebp - 0x424]
mov dword [ebp - 0x45c], esi
test al, 0xc
jne 0x100e9e1
push dword [ebp - 0x428]
lea eax, [ebp - 0x420]
push esi
push 0x20
call fcn.0100dff2
add esp, 0xc
push dword [ebp - 0x424]
mov ebx, dword [ebp - 0x428]
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x420]
call fcn.0100e023
test byte [ebp - 0x408], 8
pop ecx
pop ecx
je 0x100ea25
test byte [ebp - 0x408], 4
jne 0x100ea25
push ebx
push esi
push 0x30
lea eax, [ebp - 0x420]
call fcn.0100dff2
add esp, 0xc
cmp dword [ebp - 0x42c], 0
jne 0x100eaaa
mov eax, dword [ebp - 0x414]
test eax, eax
jle 0x100eaaa
mov ecx, dword [ebp - 0x410]
mov dword [ebp - 0x41c], ecx
mov dword [ebp - 0x434], eax
mov eax, dword [sym.imp.msvcrt.dll___mb_cur_max]
push dword [eax]
dec dword [ebp - 0x434]
push dword [ebp - 0x41c]
lea eax, [ebp - 0x458]
push eax
call dword [sym.imp.msvcrt.dll_mbtowc]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jle 0x100eaa1
mov eax, dword [ebp - 0x428]
mov esi, dword [ebp - 0x458]
lea edi, [ebp - 0x420]
call fcn.0100dfa7
add dword [ebp - 0x41c], ebx
cmp dword [ebp - 0x434], 0
mov esi, dword [ebp - 0x45c]
jle 0x100eac3
jmp 0x100ea4a
or dword [ebp - 0x420], 0xffffffff
jmp 0x100eac3
push dword [ebp - 0x414]
lea eax, [ebp - 0x420]
push dword [ebp - 0x410]
call fcn.0100e023
pop ecx
pop ecx
cmp dword [ebp - 0x420], 0
jl 0x100eaec
test byte [ebp - 0x408], 4
je 0x100eaec
push dword [ebp - 0x428]
lea eax, [ebp - 0x420]
push esi
push 0x20
call fcn.0100dff2
add esp, 0xc
cmp dword [ebp - 0x448], 0
je case.default.0x100e190
push dword [ebp - 0x448]
call dword [sym.imp.msvcrt.dll_free]
and dword [ebp - 0x448], 0
pop ecx
mov ebx, dword [ebp - 0x418]
mov esi, dword [ebp - 0x450]
xor edi, edi
movzx eax, word [esi]
mov dword [ebp - 0x41c], eax
cmp ax, di
je 0x100eb2c
mov ecx, eax
jmp 0x100e134
cmp dword [ebp - 0x440], edi
je 0x100eb41
cmp dword [ebp - 0x440], 7
jne 0x100e0e5
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001335
leave
ret