Function at 0x4517b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x482c30
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
push ebx
push esi
push edi
mov eax, dword [0x486534]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], esi
mov edi, 7
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], esi
cmp esi, 0x1a
jge 0x45186c
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x451825
sub edi, 1
mov dword [ebp - 0x20], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x4517f5
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 1
xor esi, esi
mov dword [ebp - 0x28], esi
cmp esi, 0xa
jge 0x4518c8
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x451897
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4518c0
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x4518c3
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x45187c
mov dword [ebp - 4], 0xfffffffe
call fcn.00451983
mov dword [ebp - 0x1c], edi
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 9
jl 0x4518e4
cmp esi, edi
jle 0x4518fe
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x45191d
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xc
jl 0x451922
cmp esi, edi
jge 0x451942
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x451967
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x45198f
and esi, edi
jmp 0x4519a5
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 5
jl 0x451967
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x4519cb
and esi, edi
jmp 0x4519e1
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 8
jl 0x4519b2
xor eax, eax
mov edi, edi
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x4519f0
cmp esi, 0xffff0001
jge 0x451a0f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x451a39
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x451a40
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x451a40
test esi, esi
jle 0x451a5a
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x451a79
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor edi, edi
mov edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x451a99
and esi, edi
jmp 0x451aaf
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 9
jl 0x451a80
xor eax, eax
lea esp, [esp]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x451ac0
test esi, esi
jle 0x451ada
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x451af9
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov edi, edi
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xe
jl 0x451b00
cmp esi, 0xffff0001
jge 0x451b1f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x451b49
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 2
mov edi, 7
mov dword [ebp - 0x2c], edi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 1
jge 0x451bd1
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x451b8a
sub edi, 1
mov dword [ebp - 0x2c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x451b5a
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 1
jge 0x451c2d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x451bfc
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x451c25
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x451c28
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x451be1
mov dword [ebp - 4], 0xfffffffe
call fcn.00451ce3
xor ecx, ecx
jmp 0x451c40
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x451c4c
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x451c73
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 6
jl 0x451c40
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x451c80
test esi, esi
jge 0x451ca0
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x451cc5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x451ced
and esi, edi
jmp 0x451d03
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 5
jl 0x451cc7
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
test ecx, ecx
jge 0x451d94
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x451d4e
sub edi, 1
mov dword [ebp - 0x38], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x451d1f
mov dword [ebp - 4], 0xfffffffe
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x451db1
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x451dd6
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 5
jge 0x451e42
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x451e11
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x451e3a
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x451e3d
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x451df6
mov dword [ebp - 4], 0xfffffffe
call fcn.00451eac
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x451e50
test esi, esi
jle 0x451e6a
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x451e89
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor edi, edi
mov edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x451eb6
and esi, edi
jmp 0x451ecc
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 5
jl 0x451e90
not esi
mov dword [ebp - 0x1c], esi
cmp esi, 0xffff0001
jge 0x451eea
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x451f14
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp - 0x44], edi
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 1
jge 0x451f9c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x451f55
sub edi, 1
mov dword [ebp - 0x44], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x451f25
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x451fa5
test esi, esi
jle 0x451fbf
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
jne 0x451fde
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x451fe3
cmp esi, 0xffff0001
jge 0x452002
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x45202c
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 3
jge 0x4520b0
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x452069
sub edi, 1
mov dword [ebp - 0x4c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x452039
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
lea esp, [esp]
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 7
jl 0x4520c0
cmp esi, 0xffff0001
jge 0x4520df
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x452106
lea esi, [edx + 0xb]
jmp 0x452111
cmp esi, 0xffff0001
jge 0x452114
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x45213e
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x452157
test esi, esi
jle 0x452171
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x452190
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4521a1
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4521c8
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 7
jl 0x452195
cmp esi, 0xffff0001
jge 0x4521de
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x452208
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 8
mov edi, 7
mov dword [ebp - 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp ecx, 3
jge 0x452290
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x452249
sub edi, 1
mov dword [ebp - 0x54], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x452219
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, 2
jge 0x4522ec
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4522bb
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4522e4
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4522e7
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4522a0
mov dword [ebp - 4], 0xfffffffe
call fcn.0045234b
mov dword [ebp - 4], 0xa
mov edi, 7
mov dword [ebp - 0x60], edi
xor ecx, ecx
mov dword [ebp - 0x64], ecx
cmp ecx, 4
jge 0x45238d
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x452339
sub edi, 1
mov dword [ebp - 0x60], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x452309
mov dword [ebp - 4], 0xfffffffe
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x4523af
and esi, edi
jmp 0x4523c5
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 2
jl 0x452396
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x4523d2
cmp esi, 0xffff0001
jge 0x4523f1
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
sub esi, edx
jne 0x452418
mov dword [ebp - 0x1c], 0xb
mov dword [ebp - 0x1c], 0
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
xor esi, esi
lea esp, [esp]
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x45243c
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x452463
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 2
jl 0x452430
xor esi, esi
lea ecx, [ecx]
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x45247c
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x4524a3
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 3
jl 0x452470
xor eax, eax
lea ecx, [ecx]
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x4524b0
test ecx, ecx
jge 0x4524d0
mov edx, ecx
neg edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, edx
mov dword [ebp - 0x1c], ecx
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov edx, ecx
sub edx, eax
jne 0x4524f5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor esi, esi
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x452503
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x45252a
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 3
jl 0x4524f7
mov dword [ebp - 4], 0xb
xor esi, esi
mov dword [ebp - 0x68], esi
cmp esi, 4
jge 0x452587
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x452556
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45257f
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x452582
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x45253b
mov dword [ebp - 4], 0xfffffffe
call fcn.004525e6
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x6c], edi
xor esi, esi
mov dword [ebp - 0x70], esi
cmp esi, 2
jge 0x452628
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4525d4
sub edi, 1
mov dword [ebp - 0x6c], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x4525a4
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0xd
mov edi, 7
mov dword [ebp - 0x74], edi
xor esi, esi
mov dword [ebp - 0x78], esi
cmp esi, 1
jge 0x4526b6
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452670
sub edi, 1
mov dword [ebp - 0x74], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x452640
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 0x1c], 0
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4526dd
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452704
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x4526d1
not esi
mov dword [ebp - 0x1c], esi
cmp esi, 0xffff0001
jge 0x45271f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x452749
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x452750
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x452750
test esi, esi
jle 0x45276a
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x452789
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 2
jge 0x4527e1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4527b0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4527d9
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4527dc
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x452795
mov dword [ebp - 4], 0xfffffffe
call fcn.00452845
mov dword [ebp - 4], 0xf
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 3
jge 0x45284f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x452811
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45283a
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x45283d
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4527f6
mov dword [ebp - 4], 0xfffffffe
call fcn.004528f6
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x45286c
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452893
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x452860
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0x84], ecx
cmp ecx, 1
jge 0x452900
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4528c2
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4528eb
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4528ee
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4528a4
mov dword [ebp - 4], 0xfffffffe
call fcn.004529bc
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x45291c
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452943
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x452910
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x452950
cmp esi, 0xffff0001
jge 0x45296f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452999
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x4529a0
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x4529c6
and esi, edi
jmp 0x4529dc
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 3
jl 0x4529a0
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x4529f0
test esi, esi
jge 0x452a10
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd
mov edx, esi
sub edx, ecx
jne 0x452a35
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x452a37
test esi, esi
jle 0x452a51
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x452a70
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x452a81
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452aa8
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x452a75
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x452ab2
cmp esi, 0xffff0001
jge 0x452ad1
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x452afb