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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x449e92
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
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 - 0x5c], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x10], edi
sub esp, 0x18
mov dword [ebp - 4], 3
mov ecx, esp
push 0x4632e0
call fcn.004172d0
lea ecx, [ebp - 0x58]
call fcn.00405d40
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.00417c90
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.00417af0
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40e443
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40e455
mov bl, 1
jmp 0x40e45d
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x40e491
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e487
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0b0
push edx
push ecx
call fcn.0041cf39
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 0x40e4db
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e4d1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0b0
push edx
push ecx
call fcn.0041cf39
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 0x40e525
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e51b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0b0
push edx
push ecx
call fcn.0041cf39
add esp, 8
test bl, bl
je 0x40e644
push 0
sub esp, 0x18
mov ecx, esp
push 0x4632e0
call fcn.004172d0
lea ecx, [ebp - 0x58]
call fcn.00405d40
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.00417c90
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.00417af0
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40e575
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40e5b0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e5a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0b5
push edx
push ecx
call fcn.0041cf39
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 0x40e5fa
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e5f0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0b5
push edx
push ecx
call fcn.0041cf39
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 0x40e644
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e63a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0b5
push edx
push ecx
call fcn.0041cf39
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x4632e0
call fcn.004172d0
lea ecx, [ebp - 0x58]
call fcn.00405d40
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.00417c90
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00417af0
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40e68a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40e69c
xor bl, bl
jmp 0x40e6a2
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40e6d6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e6cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ba
push edx
push ecx
call fcn.0041cf39
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 0x40e720
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e716
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ba
push edx
push ecx
call fcn.0041cf39
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 0x40e76a
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e760
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ba
push edx
push ecx
call fcn.0041cf39
add esp, 8
test bl, bl
je 0x40efb4
sub esp, 0x18
mov ecx, esp
push 0x463010
call fcn.004172d0
lea ecx, [ebp - 0x58]
call fcn.00405d40
mov esi, eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0xa
mov ecx, esp
push eax
call fcn.004172d0
lea ecx, [ebp - 0x28]
call fcn.004082a0
add esp, 0x18
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40e7af
mov edx, dword [esi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x40e7b9
mov ecx, dword [eax]
push dword [esi + 0x10]
push edx
mov edx, dword [eax + 0x10]
call fcn.00418d40
mov edx, dword [ebp - 0x14]
add esp, 8
mov bl, al
cmp edx, 0x10
jb 0x40e7fe
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e7f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0bf
push edx
push ecx
call fcn.0041cf39
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 0x40e848
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e83e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0bf
push edx
push ecx
call fcn.0041cf39
add esp, 8
lea eax, [ebp + 0x50]
push eax
push 0x458d18
test bl, bl
jne 0x40ebc1
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004172d0
lea ecx, [ebp - 0xbc]
call fcn.004082a0
add esp, 0x18
push eax
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
push 0x4632e0
call fcn.004172d0
lea ecx, [ebp - 0xa4]
call fcn.00405d40
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0xc
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x8c]
call fcn.00417c90
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.00417af0
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.00417af0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.00417eb0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x10
mov ecx, edi
call fcn.00417bf0
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x40e924
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e91a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40e96a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e960
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40e9b0
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e9a6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40e9f9
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e9ef
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ea48
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ea3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ea9d
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ea93
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40eaec
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eae2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40eb32
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb28
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40eb78
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40f09c
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f092
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
jmp 0x40f092
push 0
call fcn.004383c6
push eax
call fcn.00435f30
call fcn.00435f0f
cdq
mov ecx, 0x3313
idiv ecx
mov edi, edx
call fcn.00435f0f
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, edi
call fcn.00435f0f
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.00405570
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 0x40f0c9
dec eax
mov edx, 0xa
cmp eax, edx
cmovb edx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x40ec51
mov ecx, dword [ecx]
lea eax, [ecx + 1]
push edx
push eax
lea ecx, [ebp - 0x40]
call fcn.00417990
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x40ec9c
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ec92
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ce
push edx
push ecx
call fcn.0041cf39
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 0x4632e0
call fcn.004172d0
lea ecx, [ebp - 0x58]
call fcn.00405d40
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0x13
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.00417c90
push esi
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x74]
call fcn.00417af0
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x8c]
call fcn.00417af0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa4]
call fcn.00417eb0
add esp, 4
mov edi, dword [ebp - 0x5c]
mov edx, eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.00417bf0
mov edx, dword [ebp - 0x90]
add esp, 4
cmp edx, 0x10
jb 0x40ed72
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ed68
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40edc4
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40edba
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ee0d
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ee53
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee49
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ee99
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee8f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40eedf
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eed5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ef25
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ef1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40ef6b
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ef61
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40eb78
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
jmp 0x40eb6e
push 0
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
push 0x45813b
mov byte [edi], 0
call fcn.00417990
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x40f007
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40effd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40f04d
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f043
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
push edx
push ecx
call fcn.0041cf39
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 0x40eb78
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c4
jmp 0x40eb6e
push edx
push ecx
call fcn.0041cf39
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.0043653a
call fcn.0043653a
call fcn.0043653a
call fcn.0043653a
call fcn.0043653a
call fcn.00417ad0
call fcn.0043653a
int3