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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44bb82
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push esi
push edi
mov eax, dword [0x465014]
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 0x4662e0
call fcn.00418cf0
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.00419810
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.00419670
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40fa43
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40fa55
mov bl, 1
jmp 0x40fa5d
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x40fa91
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fa87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106b0
push edx
push ecx
call fcn.0041eab8
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 0x40fadb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fad1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106b0
push edx
push ecx
call fcn.0041eab8
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 0x40fb25
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106b0
push edx
push ecx
call fcn.0041eab8
add esp, 8
test bl, bl
je 0x40fc44
push 0
sub esp, 0x18
mov ecx, esp
push 0x4662e0
call fcn.00418cf0
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.00419810
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.00419670
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40fb75
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40fbb0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fba6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106b5
push edx
push ecx
call fcn.0041eab8
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 0x40fbfa
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fbf0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106b5
push edx
push ecx
call fcn.0041eab8
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 0x40fc44
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fc3a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106b5
push edx
push ecx
call fcn.0041eab8
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x4662e0
call fcn.00418cf0
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.00419810
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00419670
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40fc8a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40fc9c
xor bl, bl
jmp 0x40fca2
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40fcd6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fccc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106ba
push edx
push ecx
call fcn.0041eab8
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 0x40fd20
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fd16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106ba
push edx
push ecx
call fcn.0041eab8
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 0x40fd6a
mov ecx, dword [ebp - 0x58]
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 0x4106ba
push edx
push ecx
call fcn.0041eab8
add esp, 8
test bl, bl
je 0x4105b4
sub esp, 0x18
mov ecx, esp
push 0x466010
call fcn.00418cf0
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.00418cf0
lea ecx, [ebp - 0x28]
call fcn.00408b70
add esp, 0x18
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40fdaf
mov edx, dword [esi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x40fdb9
mov ecx, dword [eax]
push dword [esi + 0x10]
push edx
mov edx, dword [eax + 0x10]
call fcn.0041a8c0
mov edx, dword [ebp - 0x14]
add esp, 8
mov bl, al
cmp edx, 0x10
jb 0x40fdfe
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fdf4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106bf
push edx
push ecx
call fcn.0041eab8
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 0x40fe48
mov ecx, dword [ebp - 0x58]
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 0x4106bf
push edx
push ecx
call fcn.0041eab8
add esp, 8
lea eax, [ebp + 0x50]
push eax
push 0x45add8
test bl, bl
jne 0x4101c1
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.00418cf0
lea ecx, [ebp - 0xbc]
call fcn.00408b70
add esp, 0x18
push eax
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
push 0x4662e0
call fcn.00418cf0
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.00419810
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.00419670
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.00419670
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.00419a30
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x10
mov ecx, edi
call fcn.00419770
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x40ff24
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff1a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x40ff6a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ff60
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x40ffb0
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ffa6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x40fff9
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ffef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410048
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41003e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x41009d
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410093
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x4100ec
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4100e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410132
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410128
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410178
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41016e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x41069c
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410692
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
jmp 0x410692
push 0
call fcn.00439f46
push eax
call fcn.00437ab0
call fcn.00437a8f
cdq
mov ecx, 0x3313
idiv ecx
mov edi, edx
call fcn.00437a8f
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, edi
call fcn.00437a8f
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 0x4106c9
dec eax
mov edx, 0xa
cmp eax, edx
cmovb edx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x410251
mov ecx, dword [ecx]
lea eax, [ecx + 1]
push edx
push eax
lea ecx, [ebp - 0x40]
call fcn.00419510
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x41029c
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410292
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106ce
push edx
push ecx
call fcn.0041eab8
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 0x4662e0
call fcn.00418cf0
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.00419810
push esi
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x74]
call fcn.00419670
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x8c]
call fcn.00419670
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa4]
call fcn.00419a30
add esp, 4
mov edi, dword [ebp - 0x5c]
mov edx, eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.00419770
mov edx, dword [ebp - 0x90]
add esp, 4
cmp edx, 0x10
jb 0x410372
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410368
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x4103c4
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4103ba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x41040d
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410403
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410453
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410449
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410499
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41048f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x4104df
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4104d5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410525
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41051b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x41056b
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410561
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410178
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41016e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
jmp 0x41016e
push 0
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
push 0x45a19b
mov byte [edi], 0
call fcn.00419510
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x410607
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4105fd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x41064d
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410643
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
push edx
push ecx
call fcn.0041eab8
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 0x410178
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41016e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4106c4
jmp 0x41016e
push edx
push ecx
call fcn.0041eab8
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.004380ba
call fcn.004380ba
call fcn.004380ba
call fcn.004380ba
call fcn.004380ba
call fcn.00419650
call fcn.004380ba
int3