Function at 0x40e3d0
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.004172e0
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.00417ca0
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.00417b00
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40e453
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40e465
mov bl, 1
jmp 0x40e46d
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x40e4a1
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e497
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c0
push edx
push ecx
call fcn.0041cf4a
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 0x40e4eb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e4e1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c0
push edx
push ecx
call fcn.0041cf4a
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 0x40e535
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e52b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c0
push edx
push ecx
call fcn.0041cf4a
add esp, 8
test bl, bl
je 0x40e654
push 0
sub esp, 0x18
mov ecx, esp
push 0x4632e0
call fcn.004172e0
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.00417ca0
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.00417b00
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40e585
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40e5c0
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e5b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c5
push edx
push ecx
call fcn.0041cf4a
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 0x40e60a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e600
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c5
push edx
push ecx
call fcn.0041cf4a
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 0x40e654
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e64a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0c5
push edx
push ecx
call fcn.0041cf4a
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x4632e0
call fcn.004172e0
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.00417ca0
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.00417b00
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x40e69a
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40e6ac
xor bl, bl
jmp 0x40e6b2
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x40e6e6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e6dc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ca
push edx
push ecx
call fcn.0041cf4a
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 0x40e730
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e726
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ca
push edx
push ecx
call fcn.0041cf4a
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 0x40e77a
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e770
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0ca
push edx
push ecx
call fcn.0041cf4a
add esp, 8
test bl, bl
je 0x40efc4
sub esp, 0x18
mov ecx, esp
push 0x463010
call fcn.004172e0
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.004172e0
lea ecx, [ebp - 0x28]
call fcn.004082a0
add esp, 0x18
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40e7bf
mov edx, dword [esi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x40e7c9
mov ecx, dword [eax]
push dword [esi + 0x10]
push edx
mov edx, dword [eax + 0x10]
call fcn.00418d50
mov edx, dword [ebp - 0x14]
add esp, 8
mov bl, al
cmp edx, 0x10
jb 0x40e80e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e804
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0cf
push edx
push ecx
call fcn.0041cf4a
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 0x40e858
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e84e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0cf
push edx
push ecx
call fcn.0041cf4a
add esp, 8
lea eax, [ebp + 0x50]
push eax
push 0x458d20
test bl, bl
jne 0x40ebd1
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.004172e0
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.004172e0
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.00417ca0
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.00417b00
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.00417b00
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.00417ec0
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x10
mov ecx, edi
call fcn.00417c00
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x40e934
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e92a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40e97a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e970
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40e9c0
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e9b6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40ea09
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40e9ff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40ea58
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ea4e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eaad
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eaa3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eafc
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eaf2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eb42
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb38
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eb88
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40f0ac
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f0a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
jmp 0x40f0a2
push 0
call fcn.004383d6
push eax
call fcn.00435f40
call fcn.00435f1f
cdq
mov ecx, 0x3313
idiv ecx
mov edi, edx
call fcn.00435f1f
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, edi
call fcn.00435f1f
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 0x40f0d9
dec eax
mov edx, 0xa
cmp eax, edx
cmovb edx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x40ec61
mov ecx, dword [ecx]
lea eax, [ecx + 1]
push edx
push eax
lea ecx, [ebp - 0x40]
call fcn.004179a0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x40ecac
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eca2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0de
push edx
push ecx
call fcn.0041cf4a
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.004172e0
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.00417ca0
push esi
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x74]
call fcn.00417b00
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x8c]
call fcn.00417b00
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa4]
call fcn.00417ec0
add esp, 4
mov edi, dword [ebp - 0x5c]
mov edx, eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.00417c00
mov edx, dword [ebp - 0x90]
add esp, 4
cmp edx, 0x10
jb 0x40ed82
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ed78
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40edd4
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40edca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40ee1d
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40ee63
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee59
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eea9
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ee9f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eeef
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eee5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40ef35
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ef2b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40ef7b
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ef71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eb88
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
jmp 0x40eb7e
push 0
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
push 0x45813b
mov byte [edi], 0
call fcn.004179a0
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x40f017
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f00d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40f05d
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f053
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
push edx
push ecx
call fcn.0041cf4a
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 0x40eb88
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40eb7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40f0d4
jmp 0x40eb7e
push edx
push ecx
call fcn.0041cf4a
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.0043654a
call fcn.0043654a
call fcn.0043654a
call fcn.0043654a
call fcn.0043654a
call fcn.00417ae0
call fcn.0043654a
int3