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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x30b332
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
push ebx
push esi
push edi
mov eax, dword [0x324014]
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 0x3252e0
call fcn.002d84d0
lea ecx, [ebp - 0x58]
call fcn.002c5ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 4
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.002d8ff0
push esi
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x40]
call fcn.002d8e50
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x2cf903
mov eax, dword [eax]
push eax
call dword [0x311088]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x2cf915
mov bl, 1
jmp 0x2cf91d
shr bl, 4
not bl
and bl, 1
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x2cf951
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cf947
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0570
push edx
push ecx
call fcn.002de298
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 0x2cf99b
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cf991
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0570
push edx
push ecx
call fcn.002de298
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 0x2cf9e5
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cf9db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0570
push edx
push ecx
call fcn.002de298
add esp, 8
test bl, bl
je 0x2cfb04
push 0
sub esp, 0x18
mov ecx, esp
push 0x3252e0
call fcn.002d84d0
lea ecx, [ebp - 0x58]
call fcn.002c5ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 6
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.002d8ff0
push esi
mov edx, eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x28]
call fcn.002d8e50
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x2cfa35
mov eax, dword [eax]
push eax
call dword [0x31106c]
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x2cfa70
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfa66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0575
push edx
push ecx
call fcn.002de298
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 0x2cfaba
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfab0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0575
push edx
push ecx
call fcn.002de298
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 0x2cfb04
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfafa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0575
push edx
push ecx
call fcn.002de298
add esp, 8
sub esp, 0x18
mov ecx, esp
push 0x3252e0
call fcn.002d84d0
lea ecx, [ebp - 0x58]
call fcn.002c5ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 8
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x40]
call fcn.002d8ff0
push esi
mov edx, eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x28]
call fcn.002d8e50
add esp, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x2cfb4a
mov eax, dword [eax]
push eax
call dword [0x311088]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x2cfb5c
xor bl, bl
jmp 0x2cfb62
shr bl, 4
and bl, 1
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x2cfb96
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfb8c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d057a
push edx
push ecx
call fcn.002de298
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 0x2cfbe0
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfbd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d057a
push edx
push ecx
call fcn.002de298
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 0x2cfc2a
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfc20
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d057a
push edx
push ecx
call fcn.002de298
add esp, 8
test bl, bl
je 0x2d0474
sub esp, 0x18
mov ecx, esp
push 0x325010
call fcn.002d84d0
lea ecx, [ebp - 0x58]
call fcn.002c5ec0
mov esi, eax
lea eax, [ebp + 0x38]
mov byte [ebp - 4], 0xa
mov ecx, esp
push eax
call fcn.002d84d0
lea ecx, [ebp - 0x28]
call fcn.002c8b70
add esp, 0x18
mov edx, esi
cmp dword [esi + 0x14], 0x10
jb 0x2cfc6f
mov edx, dword [esi]
cmp dword [eax + 0x14], 0x10
mov ecx, eax
jb 0x2cfc79
mov ecx, dword [eax]
push dword [esi + 0x10]
push edx
mov edx, dword [eax + 0x10]
call fcn.002da0a0
mov edx, dword [ebp - 0x14]
add esp, 8
mov bl, al
cmp edx, 0x10
jb 0x2cfcbe
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfcb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d057f
push edx
push ecx
call fcn.002de298
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 0x2cfd08
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfcfe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d057f
push edx
push ecx
call fcn.002de298
add esp, 8
lea eax, [ebp + 0x50]
push eax
push 0x319de0
test bl, bl
jne 0x2d0081
sub esp, 0x18
lea eax, [ebp + 0x38]
mov ecx, esp
push eax
call fcn.002d84d0
lea ecx, [ebp - 0xbc]
call fcn.002c8b70
add esp, 0x18
push eax
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov ecx, esp
push 0x3252e0
call fcn.002d84d0
lea ecx, [ebp - 0xa4]
call fcn.002c5ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0xc
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x8c]
call fcn.002d8ff0
push esi
mov edx, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x74]
call fcn.002d8e50
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x40]
call fcn.002d8e50
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x28]
call fcn.002d9210
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x10
mov ecx, edi
call fcn.002d8f50
mov edx, dword [ebp - 0x14]
add esp, 4
cmp edx, 0x10
jb 0x2cfde4
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfdda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cfe2a
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfe20
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cfe70
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfe66
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cfeb9
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfeaf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cff08
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cfefe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cff5d
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cff53
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cffac
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cffa2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2cfff2
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2cffe8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d0038
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d002e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d055c
mov ecx, dword [ebp + 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0552
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
jmp 0x2d0552
push 0
call fcn.002f9726
push eax
call fcn.002f7290
call fcn.002f726f
cdq
mov ecx, 0x3313
idiv ecx
mov edi, edx
call fcn.002f726f
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, edi
call fcn.002f726f
imul edx, eax, 0x4d
sub esp, 0x10
mov ecx, esp
add edx, 0x64
add edx, esi
call fcn.002c44b0
lea ecx, [ebp - 0xbc]
call fcn.002c56f0
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 0x2d0589
dec eax
mov edx, 0xa
cmp eax, edx
cmovb edx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x2d0111
mov ecx, dword [ecx]
lea eax, [ecx + 1]
push edx
push eax
lea ecx, [ebp - 0x40]
call fcn.002d8cf0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x2d015c
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0152
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d058e
push edx
push ecx
call fcn.002de298
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 0x3252e0
call fcn.002d84d0
lea ecx, [ebp - 0x58]
call fcn.002c5ec0
mov esi, eax
lea eax, [ebp + 0x20]
mov byte [ebp - 4], 0x13
push eax
lea edx, [ebp + 8]
lea ecx, [ebp - 0x28]
call fcn.002d8ff0
push esi
mov edx, eax
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x74]
call fcn.002d8e50
add esp, 0x20
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x8c]
call fcn.002d8e50
add esp, 4
mov edx, eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa4]
call fcn.002d9210
add esp, 4
mov edi, dword [ebp - 0x5c]
mov edx, eax
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.002d8f50
mov edx, dword [ebp - 0x90]
add esp, 4
cmp edx, 0x10
jb 0x2d0232
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0228
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d0284
mov ecx, dword [ebp - 0x8c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d027a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d02cd
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d02c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d0313
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0309
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d0359
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d034f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d039f
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0395
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d03e5
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d03db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d042b
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0421
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d0038
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d002e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
jmp 0x2d002e
push 0
mov dword [edi + 0x10], 0
mov ecx, edi
mov dword [edi + 0x14], 0xf
push 0x31919b
mov byte [edi], 0
call fcn.002d8cf0
mov edx, dword [ebp + 0x1c]
cmp edx, 0x10
jb 0x2d04c7
mov ecx, dword [ebp + 8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d04bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d050d
mov ecx, dword [ebp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d0503
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
push edx
push ecx
call fcn.002de298
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 0x2d0038
mov ecx, dword [ebp + 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x2d002e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x2d0584
jmp 0x2d002e
push edx
push ecx
call fcn.002de298
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.002f789a
call fcn.002f789a
call fcn.002f789a
call fcn.002f789a
call fcn.002f789a
call fcn.002d8e30
call fcn.002f789a
int3