Function at 0x4acb50
Capabilities:
Check for peb beingdebugged flag
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4ef5cf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
push ebx
push ebp
push esi
mov ebp, ecx
push edi
mov dword [esp + 0x24], ebp
call fcn.0045ae70
xor ebx, ebx
mov dword [ebp + 0x9c], 0x4fa0d4
mov dword [esp + 0x30], ebx
mov al, byte [esp + 0x13]
mov dword [ebp + 0x114], ebx
mov byte [ebp + 0x110], al
mov dword [ebp + 0x118], ebx
mov dword [ebp + 0x11c], ebx
mov cl, byte [esp + 0x13]
mov dword [ebp + 0x124], ebx
mov byte [ebp + 0x120], cl
mov dword [ebp + 0x128], ebx
mov dword [ebp + 0x12c], ebx
mov dl, byte [esp + 0x13]
mov dword [ebp + 0x134], ebx
mov byte [ebp + 0x130], dl
mov dword [ebp + 0x138], ebx
mov dword [ebp + 0x13c], ebx
push ebp
mov byte [esp + 0x34], 4
mov dword [ebp], 0x4f9f5c
mov dword [ebp + 0x9c], 0x4f9f54
call fcn.00431090
push str.framedata_for_professiongump
push 8
mov byte [ebp + 0xec], bl
mov dword [ebp + 0x14], ebx
mov dword [ebp + 0x18], 1
mov dword [ebp + 0x20], 0x280
mov dword [ebp + 0x24], 0x1e0
call fcn.00479630
mov ecx, dword [ebp + 0x18]
mov edi, eax
shl ecx, 3
mov edx, ecx
xor eax, eax
shr ecx, 2
mov dword [ebp + 0x3c], edi
push str.frame0
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebp + 0x24]
imul eax, dword [ebp + 0x20]
lea ecx, [eax + eax + 4]
push ecx
call fcn.00479630
mov edx, dword [ebp + 0x3c]
add esp, 0x14
mov dword [edx + 4], eax
mov eax, dword [ebp + 0x3c]
mov dx, word [ebp + 0x20]
mov ecx, dword [eax + 4]
mov word [ecx], dx
mov eax, dword [ebp + 0x3c]
mov dx, word [ebp + 0x24]
mov ecx, dword [eax + 4]
mov word [ecx + 2], dx
mov ecx, ebp
call fcn.004b0250
mov eax, dword [ebp + 0x114]
mov ecx, dword [ebp + 0x118]
cmp eax, ecx
mov dword [esp + 0x18], eax
je 0x4acd1c
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov edi, dword [eax + 0x124]
mov ecx, dword [eax + 0x128]
cmp edi, ecx
je 0x4acd03
mov eax, dword [edi]
mov esi, dword [ebp + 0x114]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x118]
cmp esi, eax
je 0x4accf4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi]
push ecx
push edx
call fcn.004df6a0
add esp, 8
test eax, eax
je 0x4acce4
mov eax, dword [ebp + 0x118]
add esi, 4
cmp esi, eax
jne 0x4accc1
jmp 0x4accf4
mov esi, dword [esi]
cmp esi, ebx
je 0x4accf4
mov eax, dword [esp + 0x14]
mov dword [esi + 0x130], eax
mov ecx, dword [esp + 0x14]
add edi, 4
cmp edi, dword [ecx + 0x128]
jne 0x4accab
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x118]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
jne 0x4acc95
mov ecx, ebp
mov dword [ebp + 0x10c], ebx
mov dword [ebp + 0x108], ebx
call fcn.004adc50
mov ecx, ebp
mov dword [ebp + 0xa0], ebx
mov dword [ebp + 0xa4], ebx
call fcn.004aea00
push 0xb4
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 5
je 0x4acd84
mov edx, ebp
lea ecx, [ebp + 0x9c]
neg edx
sbb edx, edx
push ebx
and edx, ecx
mov ecx, eax
push edx
push 0x119e
push 0x119d
push 0x119a
call fcn.004af340
jmp 0x4acd86
xor eax, eax
push 1
push ebx
push 1
push 0x164
push 0xc8
mov ecx, eax
mov byte [esp + 0x44], 4
mov dword [ebp + 0xb0], eax
call fcn.00459590
mov ecx, dword [ebp + 0xb0]
push 1
push ebp
call fcn.0045a530
push 0x2c
call fcn.004ddf8e
add esp, 4
cmp eax, ebx
je 0x4acddb
mov dl, byte [esp + 0x13]
mov dword [eax + 0x20], ebx
mov byte [eax + 0x1c], dl
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax], 0x4f9f4c
jmp 0x4acddd
xor eax, eax
mov dword [ebp + 0xc0], eax
mov dword [eax + 0x18], ebp
mov eax, dword [ebp + 0xc0]
mov ecx, 0x41
push 0xbc
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0xc0]
mov dword [eax + 8], ecx
mov eax, ebp
neg eax
sbb eax, eax
lea ecx, [ebp + 0x9c]
and eax, ecx
mov ecx, dword [ebp + 0xc0]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], 0xb
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 6
je 0x4ace3e
mov ecx, eax
call fcn.004af790
jmp 0x4ace40
xor eax, eax
mov ecx, dword [ebp + 0xc0]
mov dword [ebp + 0xc4], eax
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xa4], 1
mov eax, dword [ebp + 0xc4]
mov esi, 0x2d
mov edi, 0xa
mov ecx, 0x2c
mov dword [eax + 0xb0], esi
mov eax, dword [ebp + 0xc4]
mov byte [esp + 0x30], 4
mov dword [eax + 0xac], edi
mov eax, dword [ebp + 0xc4]
mov edx, dword [eax + 0xac]
cmp edx, ecx
jle 0x4ace9a
mov ecx, edx
mov edx, dword [eax + 0xb0]
cmp ecx, edx
jle 0x4acea6
mov ecx, edx
mov dword [eax + 0xb4], ecx
mov ecx, dword [ebp + 0xc4]
push 1
push ebx
mov eax, dword [ecx + 0xb4]
push 1
push ebx
lea eax, [eax + eax*2]
shl eax, 5
cdq
idiv dword [ecx + 0xb0]
mov ecx, dword [ecx + 0xa0]
mov edx, dword [ecx + 0x30]
sub eax, edx
push eax
call fcn.00459590
mov eax, dword [ebp + 0xc4]
push 1
push ebx
push 1
mov dword [eax + 0x6c], ebx
mov ecx, dword [ebp + 0xc4]
push 0x89
push 0x1f4
call fcn.00459590
mov ecx, dword [ebp + 0xc4]
push 1
push ebp
call fcn.0045a530
mov ecx, dword [ebp + 0xc4]
mov eax, dword [ebp + 0xc0]
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x1c]
lea ecx, [eax + 0x1c]
push edx
push 1
mov eax, dword [ecx + 8]
push eax
call fcn.004b16a0
push 0xbc
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 7
je 0x4acf53
mov ecx, eax
call fcn.004af790
jmp 0x4acf55
xor eax, eax
mov ecx, dword [ebp + 0xc0]
mov dword [ebp + 0xc8], eax
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xa4], 2
mov eax, dword [ebp + 0xc8]
mov ecx, 0xb
mov byte [esp + 0x30], 4
mov dword [eax + 0xb0], esi
mov eax, dword [ebp + 0xc8]
mov dword [eax + 0xac], edi
mov eax, dword [ebp + 0xc8]
mov edx, dword [eax + 0xac]
cmp edx, ecx
jle 0x4acfa5
mov ecx, edx
mov edx, dword [eax + 0xb0]
cmp ecx, edx
jle 0x4acfb1
mov ecx, edx
mov dword [eax + 0xb4], ecx
mov ecx, dword [ebp + 0xc8]
push 1
push ebx
mov eax, dword [ecx + 0xb4]
push 1
push ebx
lea eax, [eax + eax*2]
shl eax, 5
cdq
idiv dword [ecx + 0xb0]
mov ecx, dword [ecx + 0xa0]
mov edx, dword [ecx + 0x30]
sub eax, edx
push eax
call fcn.00459590
mov eax, dword [ebp + 0xc8]
push 1
push ebx
push 1
mov dword [eax + 0x6c], ebx
mov ecx, dword [ebp + 0xc8]
push 0xa7
push 0x1f4
call fcn.00459590
mov ecx, dword [ebp + 0xc8]
push 1
push ebp
call fcn.0045a530
mov ecx, dword [ebp + 0xc8]
mov eax, dword [ebp + 0xc0]
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x1c]
lea ecx, [eax + 0x1c]
push edx
push 1
mov eax, dword [ecx + 8]
push eax
call fcn.004b16a0
push 0xbc
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 8
je 0x4ad05e
mov ecx, eax
call fcn.004af790
jmp 0x4ad060
xor eax, eax
mov ecx, dword [ebp + 0xc0]
mov dword [ebp + 0xcc], eax
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xa4], 3
mov eax, dword [ebp + 0xcc]
mov byte [esp + 0x30], 4
mov ecx, edi
mov dword [eax + 0xb0], esi
mov eax, dword [ebp + 0xcc]
mov dword [eax + 0xac], edi
mov eax, dword [ebp + 0xcc]
mov edx, dword [eax + 0xac]
cmp edx, edi
jle 0x4ad0ad
mov ecx, edx
mov edx, dword [eax + 0xb0]
cmp ecx, edx
jle 0x4ad0b9
mov ecx, edx
mov dword [eax + 0xb4], ecx
mov ecx, dword [ebp + 0xcc]
push 1
push ebx
mov eax, dword [ecx + 0xb4]
push 1
push ebx
lea eax, [eax + eax*2]
shl eax, 5
cdq
idiv dword [ecx + 0xb0]
mov ecx, dword [ecx + 0xa0]
mov edx, dword [ecx + 0x30]
sub eax, edx
push eax
call fcn.00459590
mov eax, dword [ebp + 0xcc]
push 1
push ebx
push 1
mov dword [eax + 0x6c], ebx
mov ecx, dword [ebp + 0xcc]
push 0xc5
push 0x1f4
call fcn.00459590
mov ecx, dword [ebp + 0xcc]
push 1
push ebp
call fcn.0045a530
mov ecx, dword [ebp + 0xcc]
mov eax, dword [ebp + 0xc0]
mov dword [esp + 0x1c], ecx
lea edx, [esp + 0x1c]
lea ecx, [eax + 0x1c]
push edx
push 1
mov eax, dword [ecx + 8]
push eax
call fcn.004b16a0
push 0x2c
call fcn.004ddf8e
add esp, 4
cmp eax, ebx
je 0x4ad169
mov cl, byte [esp + 0x13]
mov dword [eax + 0x20], ebx
mov byte [eax + 0x1c], cl
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebx
mov dword [eax], 0x4f9f4c
jmp 0x4ad16b
xor eax, eax
mov dword [ebp + 0xd0], eax
mov dword [eax + 0x18], ebp
mov eax, dword [ebp + 0xd0]
mov ecx, 0x64
push 0xbc
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0xd0]
mov dword [eax + 8], ecx
mov eax, ebp
neg eax
sbb eax, eax
lea ecx, [ebp + 0x9c]
and eax, ecx
mov ecx, dword [ebp + 0xd0]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0xc], 0xc
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 9
je 0x4ad1cc
mov ecx, eax
call fcn.004af790
jmp 0x4ad1ce
xor eax, eax
mov ecx, dword [ebp + 0xd0]
mov dword [ebp + 0xd4], eax
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xa4], 4
mov eax, dword [ebp + 0xd4]
push 1
push ebx
push 1
mov dword [eax + 0xb0], 0x32
mov edx, dword [ebp + 0xd4]
push 0x100
push 0x1f4
mov dword [edx + 0x6c], ebx
mov ecx, dword [ebp + 0xd4]
mov byte [esp + 0x44], 4
call fcn.00459590
mov ecx, dword [ebp + 0xd4]
push 1
push ebp
call fcn.0045a530
mov eax, dword [ebp + 0xd4]
mov ecx, 0x32
mov edx, dword [eax + 0xac]
cmp edx, ecx
jle 0x4ad247
mov ecx, edx
mov edx, dword [eax + 0xb0]
cmp ecx, edx
jle 0x4ad253
mov ecx, edx
mov dword [eax + 0xb4], ecx
mov ecx, dword [ebp + 0xd4]
push 1
push ebx
mov eax, dword [ecx + 0xb4]
push 1
push ebx
lea eax, [eax + eax*2]
shl eax, 5
cdq
idiv dword [ecx + 0xb0]
mov ecx, dword [ecx + 0xa0]
mov edx, dword [ecx + 0x30]
sub eax, edx
push eax
call fcn.00459590
mov ecx, dword [ebp + 0xd0]
mov eax, dword [ebp + 0xd4]
add ecx, 0x1c
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], eax
push edx
mov eax, dword [ecx + 8]
push 1
push eax
call fcn.004b16a0
push 0x1d8
call fcn.004ddf8e
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
cmp esi, ebx
mov byte [esp + 0x30], 0xa
je 0x4ad30e
push ebx
push ebx
push 1
push 0x386
push 1
push 0x1e
push ebx
push 0x19
push 0x69
push ebp
push ebx
push ebx
mov ecx, esi
call fcn.0042a210
mov dword [esi], 0x4f9dd0
mov dword [esi + 0xbc], 1
mov word [esi + 0x1ce], 0x23
mov word [esi + 0x1cc], 0x2b8
mov dword [esi + 0x1d0], ebx
jmp 0x4ad310
xor esi, esi
mov edi, str.Click_here
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0xb4], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esi + 0xf8]
mov eax, ecx
mov esi, edi
mov edi, edx
push 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
push 1
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xb4]
push 0x100
push 0x15e
mov byte [esp + 0x44], 4
call fcn.00459590
mov ecx, dword [ebp + 0xb4]
mov dword [ecx + 0x98], 0xffffffff
mov edx, dword [ebp + 0xb4]
mov dword [edx + 0x6c], ebx
mov ecx, dword [ebp + 0xb4]
mov eax, dword [ecx]
call dword [eax + 0x178]
mov eax, ebp
lea ecx, [ebp + 0x9c]
neg eax
sbb eax, eax
push 1
and eax, ecx
mov ecx, dword [ebp + 0xb4]
push ebp
mov dword [ecx + 0x1d0], eax
mov eax, dword [ebp + 0xb4]
mov dword [eax + 0x1d4], 7
mov ecx, dword [ebp + 0xb4]
call fcn.0045a530
push 0xbc
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 0xb
je 0x4ad3df
mov ecx, eax
call fcn.004af790
jmp 0x4ad3e1
xor eax, eax
mov ecx, dword [ebp + 0xd0]
mov dword [ebp + 0xd8], eax
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xa4], 5
mov eax, dword [ebp + 0xd8]
push 1
push ebx
push 1
mov dword [eax + 0xb0], 0x32
mov ecx, dword [ebp + 0xd8]
push 0x121
push 0x1f4
mov dword [ecx + 0x6c], ebx
mov ecx, dword [ebp + 0xd8]
mov byte [esp + 0x44], 4
call fcn.00459590
mov ecx, dword [ebp + 0xd8]
push 1
push ebp
call fcn.0045a530
mov eax, dword [ebp + 0xd8]
mov ecx, 0x32
mov edx, dword [eax + 0xac]
cmp edx, ecx
jle 0x4ad45a
mov ecx, edx
mov edx, dword [eax + 0xb0]
cmp ecx, edx
jle 0x4ad466
mov ecx, edx
mov dword [eax + 0xb4], ecx
mov ecx, dword [ebp + 0xd8]
push 1
push ebx
mov eax, dword [ecx + 0xb4]
push 1
push ebx
lea eax, [eax + eax*2]
shl eax, 5
cdq
idiv dword [ecx + 0xb0]
mov ecx, dword [ecx + 0xa0]
mov edx, dword [ecx + 0x30]
sub eax, edx
push eax
call fcn.00459590
mov eax, dword [ebp + 0xd0]
mov edx, dword [ebp + 0xd8]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x1c]
lea ecx, [eax + 0x1c]
push edx
push 1
mov eax, dword [ecx + 8]
push eax
call fcn.004b16a0
push 0x1d8
call fcn.004ddf8e
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
cmp esi, ebx
mov byte [esp + 0x30], 0xc
je 0x4ad521
push ebx
push ebx
push 1
push 0x386
push 1
push 0x1e
push ebx
push 0x19
push 0x69
push ebp
push ebx
push ebx
mov ecx, esi
call fcn.0042a210
mov dword [esi], 0x4f9dd0
mov dword [esi + 0xbc], 1
mov word [esi + 0x1ce], 0x23
mov word [esi + 0x1cc], 0x2b8
mov dword [esi + 0x1d0], ebx
jmp 0x4ad523
xor esi, esi
mov edi, str.Click_here
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0xb8], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esi + 0xf8]
mov eax, ecx
mov esi, edi
mov edi, edx
push 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
push 1
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xb8]
push 0x121
push 0x15e
mov byte [esp + 0x44], 4
call fcn.00459590
mov ecx, dword [ebp + 0xb8]
mov dword [ecx + 0x98], 0xffffffff
mov edx, dword [ebp + 0xb8]
mov dword [edx + 0x6c], ebx
mov ecx, dword [ebp + 0xb8]
mov eax, dword [ecx]
call dword [eax + 0x178]
mov eax, ebp
lea ecx, [ebp + 0x9c]
neg eax
sbb eax, eax
push 1
and eax, ecx
mov ecx, dword [ebp + 0xb8]
push ebp
mov dword [ecx + 0x1d0], eax
mov eax, dword [ebp + 0xb8]
mov dword [eax + 0x1d4], 8
mov ecx, dword [ebp + 0xb8]
call fcn.0045a530
push 0xbc
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 0xd
je 0x4ad5f2
mov ecx, eax
call fcn.004af790
jmp 0x4ad5f4
xor eax, eax
mov ecx, dword [ebp + 0xd0]
mov dword [ebp + 0xdc], eax
mov dword [eax + 0xa8], ecx
mov dword [eax + 0xa4], 6
mov eax, dword [ebp + 0xdc]
push 1
push ebx
push 1
mov dword [eax + 0xb0], 0x32
mov ecx, dword [ebp + 0xdc]
push 0x13f
push 0x1f4
mov dword [ecx + 0x6c], ebx
mov ecx, dword [ebp + 0xdc]
mov byte [esp + 0x44], 4
call fcn.00459590
mov ecx, dword [ebp + 0xdc]
push 1
push ebp
call fcn.0045a530
mov eax, dword [ebp + 0xdc]
xor ecx, ecx
mov edx, dword [eax + 0xac]
cmp edx, ebx
jle 0x4ad66a
mov ecx, edx
mov edx, dword [eax + 0xb0]
cmp ecx, edx
jle 0x4ad676
mov ecx, edx
mov dword [eax + 0xb4], ecx
mov ecx, dword [ebp + 0xdc]
push 1
push ebx
mov eax, dword [ecx + 0xb4]
push 1
push ebx
lea eax, [eax + eax*2]
shl eax, 5
cdq
idiv dword [ecx + 0xb0]
mov ecx, dword [ecx + 0xa0]
mov edx, dword [ecx + 0x30]
sub eax, edx
push eax
call fcn.00459590
mov esi, dword [ebp + 0xd0]
mov edx, dword [ebp + 0xdc]
add esi, 0x1c
mov dword [esp + 0x14], edx
mov edi, dword [esi + 8]
mov eax, dword [esi + 0xc]
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x4ad78e
mov ecx, esi
call fcn.004b1910
cmp eax, 1
jbe 0x4ad6ec
mov ecx, esi
call fcn.004b1910
mov dword [esp + 0x18], eax
jmp 0x4ad6f4
mov dword [esp + 0x18], 1
mov ecx, esi
call fcn.004b1910
add eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
jns 0x4ad707
xor eax, eax
lea ecx, [eax*4]
push ecx
call fcn.004ddf8e
mov edx, dword [esi + 4]
add esp, 4
mov ecx, esi
mov dword [esp + 0x18], eax
push eax
push edi
push edx
call fcn.004b18e0
lea ecx, [esp + 0x14]
mov dword [esp + 0x1c], eax
push ecx
push 1
push eax
mov ecx, esi
call fcn.004b18b0
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 8]
add edx, 4
mov ecx, esi
push edx
push eax
push edi
call fcn.004b18e0
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ecx
push edx
mov ecx, esi
call fcn.004496a0
mov eax, dword [esi + 4]
push eax
call fcn.004ddac0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add esp, 4
lea ecx, [edi + eax*4]
mov dword [esi + 0xc], ecx
mov ecx, esi
call fcn.004b1910
lea edx, [edi + eax*4 + 4]
mov dword [esi + 4], edi
mov dword [esi + 8], edx
jmp 0x4ad81c
mov eax, edi
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x4ad7de
lea ecx, [edi + 4]
push ecx
push edi
push edi
mov ecx, esi
call fcn.004b18e0
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
mov ecx, eax
push edx
sub ecx, edi
mov edx, 1
sar ecx, 2
sub edx, ecx
mov ecx, esi
push edx
push eax
call fcn.004b18b0
mov ecx, dword [esi + 8]
mov eax, edi
cmp edi, ecx
je 0x4ad818
mov edx, dword [esp + 0x14]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jne 0x4ad7cf
jmp 0x4ad818
push edi
lea eax, [edi - 4]
push edi
push eax
mov ecx, esi
call fcn.004b18e0
mov ecx, dword [esi + 8]
lea eax, [ecx - 4]
cmp edi, eax
je 0x4ad804
mov edx, dword [eax - 4]
sub eax, 4
sub ecx, 4
cmp eax, edi
mov dword [ecx], edx
jne 0x4ad7f5
lea eax, [edi + 4]
cmp edi, eax
je 0x4ad818
mov ecx, dword [esp + 0x14]
mov dword [edi], ecx
add edi, 4
cmp edi, eax
jne 0x4ad80b
add dword [esi + 8], 4
push 0x1d8
call fcn.004ddf8e
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
cmp esi, ebx
mov byte [esp + 0x30], 0xe
je 0x4ad87e
push ebx
push ebx
push 1
push 0x386
push 1
push 0x1e
push ebx
push 0x19
push 0x69
push ebp
push ebx
push ebx
mov ecx, esi
call fcn.0042a210
mov dword [esi], 0x4f9dd0
mov dword [esi + 0xbc], 1
mov word [esi + 0x1ce], 0x23
mov word [esi + 0x1cc], 0x2b8
mov dword [esi + 0x1d0], ebx
jmp 0x4ad880
xor esi, esi
mov edi, str.Click_here
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp + 0xbc], esi
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esi + 0xf8]
mov eax, ecx
mov esi, edi
mov edi, edx
push 1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
push 1
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 0xbc]
push 0x13f
push 0x15e
mov byte [esp + 0x44], 4
call fcn.00459590
mov ecx, dword [ebp + 0xbc]
mov dword [ecx + 0x98], 0xffffffff
mov edx, dword [ebp + 0xbc]
mov dword [edx + 0x6c], ebx
mov ecx, dword [ebp + 0xbc]
mov eax, dword [ecx]
call dword [eax + 0x178]
mov eax, ebp
lea ecx, [ebp + 0x9c]
neg eax
sbb eax, eax
push 1
and eax, ecx
mov ecx, dword [ebp + 0xbc]
push ebp
mov dword [ecx + 0x1d0], eax
mov eax, dword [ebp + 0xbc]
mov dword [eax + 0x1d4], 9
mov ecx, dword [ebp + 0xbc]
call fcn.0045a530
push 0x6178
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 0xf
je 0x4ad95f
push 0xd6
push 0xe0
push 0xbb8
push ebp
mov ecx, eax
call fcn.004b0ae0
jmp 0x4ad961
xor eax, eax
mov dword [ebp + 0xa4], eax
mov dword [eax + 0x6164], 9
mov eax, dword [ebp + 0xa4]
lea ecx, [ebp + 0x9c]
mov byte [esp + 0x30], 4
mov dword [eax + 0x6170], 0xa
mov eax, ebp
neg eax
sbb eax, eax
xor esi, esi
and eax, ecx
mov ecx, dword [ebp + 0xa4]
mov dword [ecx + 0x616c], eax
mov eax, dword [0xcfead0]
cmp eax, ebx
jle 0x4ad9eb
xor ecx, ecx
mov cl, byte [esi + 0xcfeba4]
push ecx
mov ecx, ebp
call fcn.00421150
test al, al
je 0x4ad9e1
xor eax, eax
mov ecx, dword [ebp + 0xa4]
mov al, byte [esi + 0xcfeba4]
push ebx
lea edx, [eax + eax*4]
shl edx, 4
add edx, 0xd00b18
push edx
push esi
call fcn.00429230
mov eax, dword [0xcfead0]
inc esi
cmp esi, eax
jl 0x4ad9ab
mov eax, dword [ebp + 0xa4]
mov dword [eax + 0x6c], ebx
mov ecx, dword [ebp + 0xa4]
call fcn.004292a0
mov ecx, dword [ebp + 0xa4]
push 1
push ebp
call fcn.0045a530
mov ecx, dword [ebp + 0xa4]
push 1
push ebx
push 1
push 0x89
push 0x78
call fcn.00459590
push 0xec
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 0x10
je 0x4ada64
push ebx
push 0x15a6
push 0x15a4
push 0x41f430
push ebx
push ebx
push ebp
push 0x1bd
push 0x262
mov ecx, eax
call fcn.00422990
jmp 0x4ada66
xor eax, eax
push 1
push ebp
mov ecx, eax
mov byte [esp + 0x38], 4
mov dword [eax + 0xac], 0x15a5
call fcn.0045a530
push 0xec
call fcn.004ddf8e
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, ebx
mov byte [esp + 0x30], 0x11
je 0x4adabf
push ebx
push 0x15a3
push 0x15a1
push 0x41f530
push ebx
push ebx
push ebp
push 0x1bd
push 0x24a
mov ecx, eax
call fcn.00422990
jmp 0x4adac1
xor eax, eax
push 1
push ebp
mov ecx, eax
mov byte [esp + 0x38], 4
mov dword [eax + 0xac], 0x15a2
call fcn.0045a530
mov ecx, dword [ebp + 0x108]
push ecx
mov ecx, ebp
call fcn.004ae300
mov ecx, dword [esp + 0x28]
mov byte [0xcc4e81], bl
mov byte [0xcc4e7f], bl
mov byte [0xcc4e7d], bl
pop edi
mov dword [ebp + 0xe8], ebx
mov dword [ebp + 0xe4], ebx
mov dword [ebp + 0xe0], ebx
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x24
ret