Function at 0x100e80b
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 0x100e10e
call dword [sym.imp.msvcrt.dll__errno]
push edi
push edi
push edi
push edi
push edi
mov dword [eax], 0x16
call fcn.0100cdee
add esp, 0x14
or eax, 0xffffffff
jmp 0x100eb4f
cmp esi, edi
je 0x100e0ed
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 0x100eb49
inc esi
inc esi
cmp dword [ebp - 0x420], edi
mov dword [ebp - 0x450], esi
jl 0x100eb34
lea eax, [ecx - 0x20]
cmp ax, 0x58
ja 0x100e168
movzx eax, cx
movzx eax, byte [eax + 0x1009ad0]
and eax, 0xf
jmp 0x100e16a
xor eax, eax
mov edx, dword [ebp - 0x440]
imul eax, eax, 9
movzx eax, byte [eax + edx + 0x1009af0]
push 8
shr eax, 4
pop edx
mov dword [ebp - 0x440], eax
cmp eax, edx
je 0x100e0ed
cmp eax, 7
ja case.default.0x100e198
jmp dword [eax*4 + 0x100eb5e]
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 0x100eb1f
movzx eax, cx
sub eax, 0x20
je 0x100e21f
sub eax, 3
je 0x100e210
sub eax, edx
je 0x100e204
dec eax
dec eax
je 0x100e1f8
sub eax, 3
jne case.default.0x100e198
or dword [ebp - 0x408], edx
jmp 0x100eb1f
or dword [ebp - 0x408], 4
jmp 0x100eb1f
or dword [ebp - 0x408], 1
jmp 0x100eb1f
or dword [ebp - 0x408], 0x80
jmp 0x100eb1f
or dword [ebp - 0x408], 2
jmp 0x100eb1f
cmp cx, 0x2a
jne 0x100e25c
mov eax, dword [ebx]
add ebx, 4
cmp eax, edi
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x430], eax
jge 0x100eb1f
or dword [ebp - 0x408], 4
neg dword [ebp - 0x430]
jmp 0x100eb1f
mov eax, dword [ebp - 0x430]
imul eax, eax, 0xa
movzx ecx, cx
lea eax, [eax + ecx - 0x30]
mov dword [ebp - 0x430], eax
jmp 0x100eb1f
mov dword [ebp - 0x40c], edi
jmp 0x100eb1f
cmp cx, 0x2a
jne 0x100e2ad
mov eax, dword [ebx]
add ebx, 4
cmp eax, edi
mov dword [ebp - 0x418], ebx
mov dword [ebp - 0x40c], eax
jge 0x100eb1f
or dword [ebp - 0x40c], 0xffffffff
jmp 0x100eb1f
mov eax, dword [ebp - 0x40c]
imul eax, eax, 0xa
movzx ecx, cx
lea eax, [eax + ecx - 0x30]
mov dword [ebp - 0x40c], eax
jmp 0x100eb1f
movzx eax, cx
cmp eax, 0x49
je 0x100e321
cmp eax, 0x68
je 0x100e315
cmp eax, 0x6c
je 0x100e2f2
cmp eax, 0x77
jne 0x100eb1f
or dword [ebp - 0x408], 0x800
jmp 0x100eb1f
cmp word [esi], 0x6c
jne 0x100e309
inc esi
inc esi
or dword [ebp - 0x408], 0x1000
jmp 0x100eb1f
or dword [ebp - 0x408], 0x10
jmp 0x100eb1f
or dword [ebp - 0x408], 0x20
jmp 0x100eb1f
movzx eax, word [esi]
cmp ax, 0x36
jne 0x100e343
cmp word [esi + 2], 0x34
jne 0x100e343
add esi, 4
or dword [ebp - 0x408], 0x8000
jmp 0x100eb1f
cmp ax, 0x33
jne 0x100e362
cmp word [esi + 2], 0x32
jne 0x100e362
add esi, 4
and dword [ebp - 0x408], 0xffff7fff
jmp 0x100eb1f
cmp ax, 0x64
je 0x100eb1f
cmp ax, 0x69
je 0x100eb1f
cmp ax, 0x6f
je 0x100eb1f
cmp ax, 0x75
je 0x100eb1f
cmp ax, 0x78
je 0x100eb1f
cmp ax, 0x58
je 0x100eb1f
mov dword [ebp - 0x440], edi
mov eax, dword [ebp - 0x428]
lea edi, [ebp - 0x420]
mov esi, ecx
mov dword [ebp - 0x42c], 1
call fcn.0100dfaf
jmp 0x100eb17
movzx eax, cx
cmp eax, 0x64
jg 0x100e61d
je 0x100e670
cmp eax, 0x53
jg 0x100e4f5
je 0x100e460
sub eax, 0x41
je 0x100e3f8
dec eax
dec eax
je 0x100e444
dec eax
dec eax
je 0x100e3f8
dec eax
dec eax
jne 0x100e974
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 0x100e69f
mov dword [ebp - 0x40c], 6
jmp 0x100e706
test dword [ebp - 0x408], 0x830
jne 0x100e517
or dword [ebp - 0x408], 0x20
jmp 0x100e517
test dword [ebp - 0x408], 0x830
jne 0x100e473
or dword [ebp - 0x408], 0x20
mov edi, dword [ebp - 0x40c]
cmp edi, 0xffffffff
jne 0x100e483
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 0x100e938
test ebx, ebx
jne 0x100e4b1
mov eax, dword [0x10174a8]
mov dword [ebp - 0x410], eax
and dword [ebp - 0x414], 0
mov esi, dword [ebp - 0x410]
test edi, edi
jle 0x100e974
mov al, byte [esi]
test al, al
je 0x100e974
movzx eax, al
push eax
call dword [sym.imp.msvcrt.dll_isleadbyte]
pop ecx
test eax, eax
je 0x100e4e0
inc esi
inc esi
inc dword [ebp - 0x414]
cmp dword [ebp - 0x414], edi
jge 0x100e974
jmp 0x100e4c6
sub eax, 0x58
je 0x100e790
dec eax
dec eax
je 0x100e590
sub eax, 7
je 0x100e40b
dec eax
dec eax
jne 0x100e974
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 0x100e572
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 0x100e579
mov dword [ebp - 0x454], esi
jmp 0x100e579
mov word [ebp - 0x404], ax
lea eax, [ebp - 0x404]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x414], esi
jmp 0x100e974
mov eax, dword [ebx]
add ebx, 4
mov dword [ebp - 0x418], ebx
cmp eax, edi
je 0x100e601
mov esi, dword [eax + 4]
cmp esi, edi
je 0x100e601
movzx ecx, word [eax]
cmp word [eax + 2], cx
jb 0x100e0ed
test dword [ebp - 0x408], 0x800
movzx eax, cx
je 0x100e5f0
xor ecx, ecx
mov edx, eax
not edx
inc ecx
test cl, dl
je 0x100e0ed
mov edx, esi
not edx
test cl, dl
je 0x100e0ed
mov dword [ebp - 0x410], esi
shr eax, 1
mov dword [ebp - 0x42c], ecx
jmp 0x100e96e
mov dword [ebp - 0x42c], edi
mov dword [ebp - 0x410], esi
jmp 0x100e96e
mov eax, dword [0x10174a8]
mov dword [ebp - 0x410], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100e60f
sub eax, edx
jmp 0x100e96e
cmp eax, 0x70
jg 0x100e79c
je 0x100e78a
cmp eax, 0x65
jl 0x100e974
cmp eax, 0x67
jle 0x100e40b
cmp eax, 0x69
je 0x100e670
cmp eax, 0x6e
je 0x100e0ed
cmp eax, 0x6f
jne 0x100e974
test byte [ebp - 0x408], 0x80
mov dword [ebp - 0x41c], edx
je 0x100e681
or dword [ebp - 0x408], reloc.USER32.dll_SetTimer
jmp 0x100e681
or dword [ebp - 0x408], 0x40
mov dword [ebp - 0x41c], 0xa
mov eax, dword [ebp - 0x408]
test eax, 0x8000
je 0x100e800
add ebx, edx
mov eax, dword [ebx - 8]
mov edx, dword [ebx - 4]
jmp 0x100e835
jne 0x100e6b3
cmp cx, 0x67
jne 0x100e706
mov dword [ebp - 0x40c], 1
jmp 0x100e706
cmp dword [ebp - 0x40c], eax
jle 0x100e6c1
mov dword [ebp - 0x40c], eax
mov edi, 0xa3
cmp dword [ebp - 0x40c], edi
jle 0x100e706
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 0x100e700
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x434], esi
jmp 0x100e706
mov dword [ebp - 0x40c], edi
test byte [ebp - 0x408], 0x80
je 0x100e719
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.0100d25e
add esp, 0x18
cmp byte [esi], 0x2d
jne 0x100e774
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 0x100e616
jmp 0x100e77d
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0x44c], 7
jmp 0x100e7c0
sub eax, 0x73
je 0x100e473
dec eax
dec eax
je 0x100e677
sub eax, 3
jne 0x100e974
mov dword [ebp - 0x44c], 0x27
test byte [ebp - 0x408], 0x80
mov dword [ebp - 0x41c], 0x10
je 0x100e681
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 0x100e681
test eax, 0x1000
jne 0x100e692
add ebx, 4
test al, 0x20
je 0x100e829
mov dword [ebp - 0x418], ebx
test al, 0x40
je 0x100e822
movsx eax, word [ebx - 4]
jmp 0x100e826
movzx eax, word [ebx - 4]
cdq
jmp 0x100e83b
test al, 0x40
mov eax, dword [ebx - 4]
je 0x100e833
cdq
jmp 0x100e835
xor edx, edx
mov dword [ebp - 0x418], ebx
test byte [ebp - 0x408], 0x40
je 0x100e85f
cmp edx, edi
jg 0x100e85f
jl 0x100e84e
cmp eax, edi
jae 0x100e85f
neg eax
adc edx, 0
neg edx
or dword [ebp - 0x408], 0x100
test dword [ebp - 0x408], 0x9000
mov ebx, edx
mov edi, eax
jne 0x100e871
xor ebx, ebx
cmp dword [ebp - 0x40c], 0
jge 0x100e886
mov dword [ebp - 0x40c], 1
jmp 0x100e8a0
and dword [ebp - 0x408], 0xfffffff7
mov eax, reloc.USER32.dll_SetTimer
cmp dword [ebp - 0x40c], eax
jle 0x100e8a0
mov dword [ebp - 0x40c], eax
mov eax, edi
or eax, ebx
jne 0x100e8ac
and dword [ebp - 0x424], eax
lea esi, [ebp - 0x205]
mov eax, dword [ebp - 0x40c]
dec dword [ebp - 0x40c]
test eax, eax
jg 0x100e8c8
mov eax, edi
or eax, ebx
je 0x100e8f5
mov eax, dword [ebp - 0x41c]
cdq
push edx
push eax
push ebx
push edi
call fcn.010075eb
add ecx, 0x30
cmp ecx, 0x39
mov dword [ebp - 0x45c], ebx
mov edi, eax
mov ebx, edx
jle 0x100e8f0
add ecx, dword [ebp - 0x44c]
mov byte [esi], cl
dec esi
jmp 0x100e8b2
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 0x100e974
test eax, eax
je 0x100e921
mov eax, esi
cmp byte [eax], 0x30
je 0x100e974
dec dword [ebp - 0x410]
mov eax, dword [ebp - 0x410]
inc dword [ebp - 0x414]
mov byte [eax], 0x30
jmp 0x100e974
test ebx, ebx
jne 0x100e947
mov eax, dword [0x10174ac]
mov dword [ebp - 0x410], eax
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x42c], 1
jmp 0x100e962
dec edi
cmp word [eax], 0
je 0x100e966
inc eax
inc eax
test edi, edi
jne 0x100e959
sub eax, dword [ebp - 0x410]
sar eax, 1
mov dword [ebp - 0x414], eax
cmp dword [ebp - 0x454], 0
jne 0x100eaf4
mov eax, dword [ebp - 0x408]
test al, 0x40
je 0x100e9b6
test eax, 0x100
je 0x100e996
push 0x2d
jmp 0x100e9a4
test al, 1
je 0x100e99e
push 0x2b
jmp 0x100e9a4
test al, 2
je 0x100e9b6
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 0x100e9e9
push dword [ebp - 0x428]
lea eax, [ebp - 0x420]
push esi
push 0x20
call fcn.0100dffa
add esp, 0xc
push dword [ebp - 0x424]
mov ebx, dword [ebp - 0x428]
lea eax, [ebp - 0x43c]
push eax
lea eax, [ebp - 0x420]
call fcn.0100e02b
test byte [ebp - 0x408], 8
pop ecx
pop ecx
je 0x100ea2d
test byte [ebp - 0x408], 4
jne 0x100ea2d
push ebx
push esi
push 0x30
lea eax, [ebp - 0x420]
call fcn.0100dffa
add esp, 0xc
cmp dword [ebp - 0x42c], 0
jne 0x100eab2
mov eax, dword [ebp - 0x414]
test eax, eax
jle 0x100eab2
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 0x100eaa9
mov eax, dword [ebp - 0x428]
mov esi, dword [ebp - 0x458]
lea edi, [ebp - 0x420]
call fcn.0100dfaf
add dword [ebp - 0x41c], ebx
cmp dword [ebp - 0x434], 0
mov esi, dword [ebp - 0x45c]
jle 0x100eacb
jmp 0x100ea52
or dword [ebp - 0x420], 0xffffffff
jmp 0x100eacb
push dword [ebp - 0x414]
lea eax, [ebp - 0x420]
push dword [ebp - 0x410]
call fcn.0100e02b
pop ecx
pop ecx
cmp dword [ebp - 0x420], 0
jl 0x100eaf4
test byte [ebp - 0x408], 4
je 0x100eaf4
push dword [ebp - 0x428]
lea eax, [ebp - 0x420]
push esi
push 0x20
call fcn.0100dffa
add esp, 0xc
cmp dword [ebp - 0x448], 0
je case.default.0x100e198
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 0x100eb34
mov ecx, eax
jmp 0x100e13c
cmp dword [ebp - 0x440], edi
je 0x100eb49
cmp dword [ebp - 0x440], 7
jne 0x100e0ed
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001335
leave
ret