Function at 0x40f7c0
Capabilities:
Check if file exists
Create directory
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44cf72
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push esi
push edi
mov eax, dword [0x466014]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], edi
sub esp, 0x18
mov dword [ebp - 4], 3
mov ecx, esp
push 0x4672e0
call fcn.0041a110
lea ecx, [ebp - 0x58]
call fcn.00405ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0041ac30
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.0041aa90
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40f843
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40f855
mov bl, 1
jmp 0x40f85d
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x40f891
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f887
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104b0
push edx
push ecx
call fcn.0041fed9
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 0x40f8db
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f8d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104b0
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40f925
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f91b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104b0
push edx
push ecx
call fcn.0041fed9
add esp, 8
test bl, bl
je 0x40fa44
push 0
sub esp, 0x18
mov ecx, esp
push 0x4672e0
call fcn.0041a110
lea ecx, [ebp - 0x58]
call fcn.00405ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.0041ac30
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.0041aa90
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40f975
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40f9b0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f9a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104b5
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40f9fa
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f9f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104b5
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x40fa44
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fa3a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104b5
push edx
push ecx
call fcn.0041fed9
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x4672e0
call fcn.0041a110
lea ecx, [ebp - 0x58]
call fcn.00405ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.0041ac30
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.0041aa90
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40fa8a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40fa9c
xor bl, bl
jmp 0x40faa2
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40fad6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40facc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104ba
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40fb20
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104ba
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x40fb6a
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104ba
push edx
push ecx
call fcn.0041fed9
add esp, 8
test bl, bl
je 0x4103b4
sub esp, 0x18
mov ecx, esp
push 0x467010
call fcn.0041a110
lea ecx, [ebp - 0x58]
call fcn.00405ec0
mov esi, eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0xa
mov ecx, esp
push eax
call fcn.0041a110
lea ecx, [ebp - 0x28]
call fcn.00408b70
add esp, 0x18
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40fbaf
mov edx, dword [esi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x40fbb9
mov ecx, dword [eax]
push dword [esi + 0x10]
push edx
mov edx, dword [eax + 0x10]
call fcn.0041bce0
mov edx, dword [ebp - 0x14]
add esp, 8
mov bl, al
cmp edx, 0x10
jb 0x40fbfe
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fbf4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104bf
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40fc48
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fc3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104bf
push edx
push ecx
call fcn.0041fed9
add esp, 8
lea eax, [ebp + 0x50]
push eax
push 0x45bdd8
test bl, bl
jne 0x40ffc1
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.0041a110
lea ecx, [ebp - 0xbc]
call fcn.00408b70
add esp, 0x18
push eax
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
push 0x4672e0
call fcn.0041a110
lea ecx, [ebp - 0xa4]
call fcn.00405ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0xc
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x8c]
call fcn.0041ac30
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.0041aa90
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.0041aa90
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.0041ae50
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x10
mov ecx, edi
call fcn.0041ab90
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x40fd24
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fd1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x40fd6a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fd60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x40fdb0
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fda6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
cmp edx, 0x10
jb 0x40fdf9
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fdef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
cmp edx, 0x10
jb 0x40fe48
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fe3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
cmp edx, 0x10
jb 0x40fe9d
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fe93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
cmp edx, 0x10
jb 0x40feec
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fee2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x40ff32
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x40ff78
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x64]
mov dword [ebp + 0x48], 0
mov dword [ebp + 0x4c], 0xf
mov byte [ebp + 0x38], 0
cmp edx, 0x10
jb 0x41049c
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410492
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
jmp 0x410492
push 0
call fcn.0043b366
push eax
call fcn.00438ed0
call fcn.00438eaf
cdq
mov ecx, 0x3313
idiv ecx
mov edi, edx
call fcn.00438eaf
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, edi
call fcn.00438eaf
imul edx, eax, 0x4d
sub esp, 0x10
mov ecx, esp
add edx, 0x64
add edx, esi
call fcn.004044b0
lea ecx, [ebp - 0xbc]
call fcn.004056f0
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov eax, dword [ecx + 0x10]
cmp eax, 1
jb 0x4104c9
dec eax
mov edx, 0xa
cmp eax, edx
cmovb edx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x410051
mov ecx, dword [ecx]
lea eax, [ecx + 1]
push edx
push eax
lea ecx, [ebp - 0x40]
call fcn.0041a930
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x41009c
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410092
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104ce
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x12
push eax
sub esp, 0x18
mov ecx, esp
push 0x4672e0
call fcn.0041a110
lea ecx, [ebp - 0x58]
call fcn.00405ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0x13
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.0041ac30
push esi
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x74]
call fcn.0041aa90
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x8c]
call fcn.0041aa90
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa4]
call fcn.0041ae50
add esp, 4
mov edi, dword [ebp - 0x5c]
mov edx, eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.0041ab90
mov edx, dword [ebp - 0x90]
add esp, 4
cmp edx, 0x10
jb 0x410172
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410168
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
cmp edx, 0x10
jb 0x4101c4
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4101ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
cmp edx, 0x10
jb 0x41020d
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410203
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
cmp edx, 0x10
jb 0x410253
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410249
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
cmp edx, 0x10
jb 0x410299
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41028f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
cmp edx, 0x10
jb 0x4102df
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4102d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 0x10
jb 0x410325
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41031b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x41036b
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410361
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x40ff78
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
jmp 0x40ff6e
push 0
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
push 0x45b19b
mov byte [edi], 0
call fcn.0041a930
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x410407
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4103fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp edx, 0x10
jb 0x41044d
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410443
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
cmp edx, 0x10
jb 0x40ff78
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4104c4
jmp 0x40ff6e
push edx
push ecx
call fcn.0041fed9
add esp, 8
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.004394da
call fcn.004394da
call fcn.004394da
call fcn.004394da
call fcn.004394da
call fcn.0041aa70
call fcn.004394da
int3