Function at 0x4af018
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2c
push 0
push 0
dec ecx
jne 0x4af020
push ecx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x4aff09
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
sub eax, 0x34
jae 0x4af79f
cmp byte [0x535fe0], 0
je 0x4af06c
call fcn.00406bb0
sub eax, dword [0x536024]
cmp eax, 0x1388
jbe 0x4af06c
mov byte [0x535fe0], 0
cmp byte [0x535fe0], 0
jne 0x4afea8
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4afea8
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 3
ja 0x4afea8
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
lea esi, [eax*4 + 0x53470c]
mov edi, 0x535fe0
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 4
jne 0x4af200
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471c], 0x64
jae 0x4af200
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471c], 0x32
jae 0x4af190
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
lea edx, [eax*4 + 0x53470c]
lea eax, [ebp - 0x40]
call fcn.0040305c
mov edx, 0x4aff18
lea eax, [ebp - 0x40]
mov cl, 0x20
call fcn.0040302c
lea edx, [ebp - 0x40]
lea eax, [ebp - 0x1c]
call fcn.004048e8
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x52bf20]
mov eax, dword [eax]
mov cx, word [0x4aff2c]
call fcn.004de3dc
cmp eax, 6
je 0x4af200
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
lea edi, [eax*4 + 0x53470c]
mov esi, 0x535fe0
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
jmp 0x4afea8
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
lea edx, [eax*4 + 0x53470c]
lea eax, [ebp - 0x68]
call fcn.0040305c
mov edx, 0x4aff30
lea eax, [ebp - 0x68]
mov cl, 0x22
call fcn.0040302c
lea edx, [ebp - 0x68]
lea eax, [ebp - 0x44]
call fcn.004048e8
mov edx, dword [ebp - 0x44]
mov eax, dword [0x52bf20]
mov eax, dword [eax]
mov cx, word [0x4aff2c]
call fcn.004de3dc
cmp eax, 6
je 0x4af200
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
lea edi, [eax*4 + 0x53470c]
mov esi, 0x535fe0
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
jmp 0x4afea8
call fcn.00406bb0
mov dword [0x536024], eax
lea eax, [ebp - 0x6c]
mov edx, dword [ebp - 8]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
call fcn.004048e8
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [eax*4 + 0x534748]
mov eax, dword [ebp - 4]
call fcn.004b3e30
mov eax, dword [ebp - 8]
mov edx, eax
shl eax, 4
add eax, edx
movzx eax, byte [eax*4 + 0x53471b]
call fcn.004ff734
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x18], eax
cmp byte [0x54d83e], 1
jne 0x4af40c
cmp byte [0x53a01c], 0
jne 0x4af40c
mov dword [ebp - 0xc], 6
mov eax, 0x535fe0
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403108
jne 0x4af2e0
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [ebp - 8]
mov ecx, edx
shl edx, 4
add edx, ecx
lea esi, [eax*4 + 0x53470c]
lea edi, [edx*4 + 0x53470c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
jmp 0x4af2e9
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af281
cmp dword [ebp - 0xc], 0x34
jne 0x4af40c
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [0x535ffc], 0
jle 0x4af37d
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4af37d
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x534728], 0
jle 0x4af37d
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4af37d
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [ebp - 8]
mov ecx, edx
shl edx, 4
add edx, ecx
lea esi, [eax*4 + 0x53470c]
lea edi, [edx*4 + 0x53470c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
jmp 0x4af40c
cmp dword [0x536000], 0
jle 0x4af3ff
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4af3ff
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x53472c], 0
jle 0x4af3ff
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4af3ff
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [ebp - 8]
mov ecx, edx
shl edx, 4
add edx, ecx
lea esi, [eax*4 + 0x53470c]
lea edi, [edx*4 + 0x53470c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
jmp 0x4af40c
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af2f8
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, 0x535fe0
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403108
jne 0x4af43b
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
jne 0x4af452
inc dword [ebp - 0x10]
cmp dword [0x535ffc], 0
jle 0x4af4ae
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4af4ae
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x534728], 0
jle 0x4af4ae
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x53472c], 0
jne 0x4af4ae
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4af4ae
inc dword [ebp - 0x14]
cmp dword [0x536000], 0
jle 0x4af50a
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4af50a
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x53472c], 0
jle 0x4af50a
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x534728], 0
jne 0x4af50a
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4af50a
inc dword [ebp - 0x14]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af416
cmp dword [ebp - 0x18], 0
jle 0x4af5b4
push 0xffffff
mov edx, 0x4aff48
lea eax, [ebp - 0x88]
call fcn.0040305c
mov edx, 0x535fe0
lea eax, [ebp - 0x88]
mov cl, 0x12
call fcn.0040302c
lea edx, [ebp - 0x88]
lea eax, [ebp - 0xa4]
call fcn.0040305c
mov edx, 0x4aff50
lea eax, [ebp - 0xa4]
mov cl, 0x18
call fcn.0040302c
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0x74]
call fcn.004048e8
push dword [ebp - 0x74]
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x18]
call fcn.00408d74
push dword [ebp - 0xa8]
push 0x4aff60
lea eax, [ebp - 0x70]
mov edx, 3
call fcn.00404a04
mov edx, dword [ebp - 0x70]
mov ecx, 0x8000
mov eax, dword [0x5342d8]
call fcn.004cde58
cmp dword [ebp - 0x14], 0
jne 0x4afea8
cmp byte [0x535fef], 0
jne 0x4afea8
cmp dword [ebp - 0x10], 5
jl 0x4afea8
cmp byte [0x54d83f], 1
jne 0x4afea8
cmp byte [0x53a01d], 0
jne 0x4afea8
cmp dword [0x535ffc], 0
jle 0x4af699
mov dword [ebp - 0xc], 6
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0x1f
jne 0x4af68c
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
lea edx, [eax*4 + 0x53470c]
mov eax, 0x4aff64
call fcn.00402b5c
test eax, eax
jle 0x4af68c
lea eax, [ebp - 0xac]
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
call fcn.004048e8
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [eax*4 + 0x534748]
mov eax, dword [ebp - 4]
call fcn.004b3e30
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
mov dword [ebp - 0x18], 5
jmp 0x4af699
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af603
cmp dword [0x536000], 0
jle 0x4af743
mov dword [ebp - 0xc], 6
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0x1f
jne 0x4af736
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
lea edx, [eax*4 + 0x53470c]
mov eax, 0x4aff6c
call fcn.00402b5c
test eax, eax
jle 0x4af736
lea eax, [ebp - 0xb0]
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
call fcn.004048e8
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [eax*4 + 0x534748]
mov eax, dword [ebp - 4]
call fcn.004b3e30
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
mov dword [ebp - 0x18], 5
jmp 0x4af743
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af6ad
cmp dword [ebp - 0x18], 0
jne 0x4afea8
push 0xffffff
mov edx, 0x535fe0
lea eax, [ebp - 0xd8]
call fcn.0040305c
mov edx, 0x4aff74
lea eax, [ebp - 0xd8]
mov cl, 0x23
call fcn.0040302c
lea edx, [ebp - 0xd8]
lea eax, [ebp - 0xb4]
call fcn.004048e8
mov edx, dword [ebp - 0xb4]
mov ecx, 0xff
mov eax, dword [0x5342d8]
call fcn.004cde58
jmp 0x4afea8
cmp dword [ebp - 8], 0xffffffff
sete al
and al, byte [0x535f48]
je 0x4afea8
mov byte [0x535f48], 0
mov esi, 0x535f54
mov edi, 0x535fe0
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov dword [0x535f50], 0xffffffff
mov byte [0x535f54], 0
cmp byte [0x535fef], 4
jne 0x4af90c
cmp byte [0x535ff0], 0x64
jae 0x4af90c
cmp byte [0x535ff0], 0x32
jae 0x4af889
mov edx, 0x4aff8c
lea eax, [ebp - 0xec]
call fcn.0040305c
mov edx, 0x535fe0
lea eax, [ebp - 0xec]
mov cl, 0xf
call fcn.0040302c
lea edx, [ebp - 0xec]
lea eax, [ebp - 0x118]
call fcn.0040305c
mov edx, 0x4aff90
lea eax, [ebp - 0x118]
mov cl, 0x2a
call fcn.0040302c
lea edx, [ebp - 0x118]
lea eax, [ebp - 0xdc]
call fcn.004048e8
mov edx, dword [ebp - 0xdc]
mov eax, dword [0x52bf20]
mov eax, dword [eax]
mov cx, word [0x4aff2c]
call fcn.004de3dc
cmp eax, 6
je 0x4af90c
mov eax, 0x535fe0
call fcn.0050a8f8
jmp 0x4afea8
mov edx, 0x4aff8c
lea eax, [ebp - 0xec]
call fcn.0040305c
mov edx, 0x535fe0
lea eax, [ebp - 0xec]
mov cl, 0xf
call fcn.0040302c
lea edx, [ebp - 0xec]
lea eax, [ebp - 0x148]
call fcn.0040305c
mov edx, 0x4affac
lea eax, [ebp - 0x148]
mov cl, 0x28
call fcn.0040302c
lea edx, [ebp - 0x148]
lea eax, [ebp - 0x11c]
call fcn.004048e8
mov edx, dword [ebp - 0x11c]
mov eax, dword [0x52bf20]
mov eax, dword [eax]
mov cx, word [0x4aff2c]
call fcn.004de3dc
cmp eax, 6
je 0x4af90c
mov eax, 0x535fe0
call fcn.0050a8f8
jmp 0x4afea8
call fcn.00406bb0
mov dword [0x536024], eax
lea eax, [ebp - 0x14c]
mov edx, 0x535fe0
call fcn.004048e8
mov ecx, dword [ebp - 0x14c]
mov edx, dword [0x53601c]
mov eax, dword [ebp - 4]
call fcn.004b3e30
xor eax, eax
mov dword [ebp - 0x18], eax
cmp dword [0x535f4c], 0xffffffff
jle 0x4afb01
cmp byte [0x54d83e], 1
jne 0x4afb01
cmp byte [0x53a01c], 0
jne 0x4afb01
mov dword [ebp - 0xc], 6
mov eax, 0x535fe0
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403108
jne 0x4af9cf
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x535f4c]
mov ecx, edx
shl edx, 4
add edx, ecx
lea esi, [eax*4 + 0x53470c]
lea edi, [edx*4 + 0x53470c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
jmp 0x4af9d8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af96d
cmp dword [ebp - 0xc], 0x34
jne 0x4afb01
xor eax, eax
mov dword [ebp - 0xc], eax
cmp dword [0x535ffc], 0
jle 0x4afa6f
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4afa6f
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x534728], 0
jle 0x4afa6f
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4afa6f
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x535f4c]
mov ecx, edx
shl edx, 4
add edx, ecx
lea esi, [eax*4 + 0x53470c]
lea edi, [edx*4 + 0x53470c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
jmp 0x4afb01
cmp dword [0x536000], 0
jle 0x4afaf4
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4afaf4
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x53472c], 0
jle 0x4afaf4
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4afaf4
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [0x535f4c]
mov ecx, edx
shl edx, 4
add edx, ecx
lea esi, [eax*4 + 0x53470c]
lea edi, [edx*4 + 0x53470c]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
jmp 0x4afb01
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4af9e7
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, 0x535fe0
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
xor ecx, ecx
mov cl, byte [eax]
inc ecx
call fcn.00403108
jne 0x4afb35
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
jne 0x4afb4c
inc dword [ebp - 0x10]
cmp dword [0x535ffc], 0
jle 0x4afba8
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4afba8
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x534728], 0
jle 0x4afba8
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x53472c], 0
jne 0x4afba8
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4afba8
inc dword [ebp - 0x14]
cmp dword [0x536000], 0
jle 0x4afc04
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53470c], 0
je 0x4afc04
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x53472c], 0
jle 0x4afc04
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp dword [eax*4 + 0x534728], 0
jne 0x4afc04
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0
jne 0x4afc04
inc dword [ebp - 0x14]
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4afb10
cmp dword [ebp - 0x18], 0
jle 0x4afcba
push 0xffffff
mov edx, 0x4aff48
lea eax, [ebp - 0x88]
call fcn.0040305c
mov edx, 0x535fe0
lea eax, [ebp - 0x88]
mov cl, 0x12
call fcn.0040302c
lea edx, [ebp - 0x88]
lea eax, [ebp - 0xa4]
call fcn.0040305c
mov edx, 0x4aff50
lea eax, [ebp - 0xa4]
mov cl, 0x18
call fcn.0040302c
lea edx, [ebp - 0xa4]
lea eax, [ebp - 0x154]
call fcn.004048e8
push dword [ebp - 0x154]
lea edx, [ebp - 0x158]
mov eax, dword [ebp - 0x18]
call fcn.00408d74
push dword [ebp - 0x158]
push 0x4aff60
lea eax, [ebp - 0x150]
mov edx, 3
call fcn.00404a04
mov edx, dword [ebp - 0x150]
mov ecx, 0x8000
mov eax, dword [0x5342d8]
call fcn.004cde58
xor eax, eax
mov al, byte [0x535fef]
call fcn.004ff734
cmp dword [ebp - 0x14], 0
jne 0x4afea8
cmp byte [0x535fef], 0
jne 0x4afea8
cmp dword [ebp - 0x10], 4
jle 0x4afea8
cmp byte [0x54d83f], 1
jne 0x4afea8
cmp byte [0x53a01d], 0
jne 0x4afea8
cmp dword [0x535ffc], 0
jle 0x4afdab
mov dword [ebp - 0xc], 6
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0x1f
jne 0x4afd9e
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
lea edx, [eax*4 + 0x53470c]
mov eax, 0x4aff64
call fcn.00402b5c
test eax, eax
jle 0x4afd9e
lea eax, [ebp - 0x15c]
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
call fcn.004048e8
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [eax*4 + 0x534748]
mov eax, dword [ebp - 4]
call fcn.004b3e30
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
mov dword [ebp - 0x18], 5
jmp 0x4afdab
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4afd15
cmp dword [0x536000], 0
jle 0x4afe55
mov dword [ebp - 0xc], 6
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
cmp byte [eax*4 + 0x53471b], 0x1f
jne 0x4afe48
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
lea edx, [eax*4 + 0x53470c]
mov eax, 0x4aff6c
call fcn.00402b5c
test eax, eax
jle 0x4afe48
lea eax, [ebp - 0x160]
mov edx, dword [ebp - 0xc]
mov ecx, edx
shl edx, 4
add edx, ecx
lea edx, [edx*4 + 0x53470c]
call fcn.004048e8
mov ecx, dword [ebp - 0x160]
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov edx, dword [eax*4 + 0x534748]
mov eax, dword [ebp - 4]
call fcn.004b3e30
mov eax, dword [ebp - 0xc]
mov edx, eax
shl eax, 4
add eax, edx
mov byte [eax*4 + 0x53470c], 0
mov dword [ebp - 0x18], 5
jmp 0x4afe55
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x34
jne 0x4afdbf
cmp dword [ebp - 0x18], 0
jne 0x4afea8
push 0xffffff
mov edx, 0x535fe0
lea eax, [ebp - 0xd8]
call fcn.0040305c
mov edx, 0x4aff74
lea eax, [ebp - 0xd8]
mov cl, 0x23
call fcn.0040302c
lea edx, [ebp - 0xd8]
lea eax, [ebp - 0x164]
call fcn.004048e8
mov edx, dword [ebp - 0x164]
mov ecx, 0xff
mov eax, dword [0x5342d8]
call fcn.004cde58
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4aff10
lea eax, [ebp - 0x164]
mov edx, 7
call fcn.004046a8
lea eax, [ebp - 0x11c]
call fcn.00404684
lea eax, [ebp - 0xdc]
call fcn.00404684
lea eax, [ebp - 0xb4]
mov edx, 4
call fcn.004046a8
lea eax, [ebp - 0x74]
mov edx, 3
call fcn.004046a8
lea eax, [ebp - 0x44]
call fcn.00404684
lea eax, [ebp - 0x1c]
call fcn.00404684
ret