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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4493f0
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push esi
push edi
mov eax, dword [0x462014]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
sub esp, 0x18
mov dword [ebp - 0x10], edi
mov ecx, esp
push 0x462c38
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x28]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409182
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409194
xor bl, bl
jmp 0x40919a
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x4091ce
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4091c4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a027
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409218
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40920e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a027
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409265
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40925b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a027
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409275
push 1
push 0x458da4
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x463220
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 2
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x4092b7
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4092c9
xor bl, bl
jmp 0x4092cf
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409303
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4092f9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a02c
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x40934d
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409343
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a02c
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40939a
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409390
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a02c
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x4093aa
push 1
push 0x458da8
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x462f80
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 4
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x4093ec
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4093fe
xor bl, bl
jmp 0x409404
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409438
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40942e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a031
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409482
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409478
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a031
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x4094cf
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4094c5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a031
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x4094df
push 1
push 0x458dac
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x4636e8
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 6
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409521
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409533
xor bl, bl
jmp 0x409539
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x40956d
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409563
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a036
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x4095b7
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4095ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a036
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409604
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4095fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a036
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409614
push 1
push 0x458db0
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x4634d8
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 8
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409656
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409668
xor bl, bl
jmp 0x40966e
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x4096a2
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409698
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a03b
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x4096ec
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4096e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a03b
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409739
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40972f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a03b
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409749
push 1
push 0x458db4
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x462a28
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xa
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x40978b
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40979d
xor bl, bl
jmp 0x4097a3
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x4097d7
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4097cd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a040
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409821
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409817
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a040
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40986e
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409864
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a040
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x40987e
push 1
push 0x458db8
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x462d28
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xc
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x4098c0
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x4098d2
xor bl, bl
jmp 0x4098d8
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x40990c
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409902
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a045
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409956
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40994c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a045
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x4099a3
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409999
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a045
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x4099b3
push 1
push 0x458dbc
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x462f20
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xe
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x4099f5
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409a07
xor bl, bl
jmp 0x409a0d
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409a41
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409a37
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a04a
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409a8b
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409a81
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a04a
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409ad8
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409ace
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a04a
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409ae8
push 1
push 0x458dc0
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x462c98
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x10
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409b2a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409b3c
xor bl, bl
jmp 0x409b42
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409b76
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409b6c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a04f
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409bc0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409bb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a04f
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409c0d
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409c03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a04f
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409c1d
push 1
push 0x458dc4
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x462ea8
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x12
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409c5f
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409c71
xor bl, bl
jmp 0x409c77
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409cab
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409ca1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a054
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409cf5
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409ceb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a054
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409d42
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409d38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a054
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409d52
push 2
push 0x458e10
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x463058
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x14
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409d94
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409da6
xor bl, bl
jmp 0x409dac
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409de0
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409dd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a059
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409e2a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409e20
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a059
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x409e77
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409e6d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a059
push edx
push ecx
call fcn.0041d758
add esp, 8
test bl, bl
je 0x409e87
push 2
push 0x458e14
jmp 0x409ffb
sub esp, 0x18
mov ecx, esp
push 0x463448
call fcn.00417ec0
lea ecx, [ebp - 0x58]
call fcn.00405370
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0x16
call fcn.00407d40
push esi
mov edx, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x40]
call fcn.004186e0
add esp, 0x1c
cmp dword [eax + 0x14], 0x10
jb 0x409ec9
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x409edb
xor bl, bl
jmp 0x409ee1
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x409f15
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f0b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a05e
push edx
push ecx
call fcn.0041d758
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x409f5f
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a05e
push edx
push ecx
call fcn.0041d758
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0x8b550000
push ebp
mov ebp, esp
add al, 0xc3
add dh, byte [eax]
sbb dword [edx - 0x7b2c09e7], ecx
fisttp dword [eax + 0x41037419]
sbb dword [ebx + eax + 0x41], esi
ljmp 0xc35b:0x10342c6
or byte [esi + 0x57], dl
mov bh, 0x71
push es
and ecx, dword [ebx - 0x367af7b8]
leave
adc byte [ebx + 0x54390c50], cl
and al, 0xc