Function at 0x453950
Capabilities:
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x78
push 0xfffffffffffffffe
push 0x482d80
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x58
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 ecx, ecx
xor esi, esi
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], ecx
mov edi, 7
mov dword [ebp - 0x5c], edi
mov dword [ebp + 0xc], ecx
cmp ecx, 0x1b
jge 0x453a11
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 0x4539ca
sub edi, 1
mov dword [ebp - 0x5c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x45399a
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
lea ebx, [ebx]
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 0x38
jl 0x453a20
cmp esi, 0xffff0001
jge 0x453a3f
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x453a69
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, 0x3d
jge 0x453abe
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x453a8d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x453ab6
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 0x453ab9
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x453a72
mov dword [ebp - 4], 0xfffffffe
call fcn.00453b22
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0xe
jge 0x453b2c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x453aee
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x453b17
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 0x453b1a
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x453ad3
mov dword [ebp - 4], 0xfffffffe
call fcn.00453b5c
xor edi, edi
lea ebx, [ebx]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x453b66
and esi, edi
jmp 0x453b7c
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp + 0x74], esi
add edi, 1
cmp edi, 5
jl 0x453b40
mov dword [ebp - 4], 3
mov edi, 7
mov dword [ebp + 0x5c], edi
xor ecx, ecx
mov dword [ebp + 4], ecx
cmp ecx, 0xa
jge 0x453c0f
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 0x453bc8
sub edi, 1
mov dword [ebp + 0x5c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x453b98
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x453c24
neg esi
mov dword [ebp + 0x74], 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 0x453c4b
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 8
jl 0x453c18
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 0xb
jl 0x453c55
test esi, esi
jge 0x453c75
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x453c9a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor edi, edi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x453cb9
and esi, edi
jmp 0x453ccf
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp + 0x74], esi
add edi, 1
cmp edi, 5
jl 0x453ca0
test esi, esi
jge 0x453ced
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x453d12
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], 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 0x453d2d
and esi, edi
jmp 0x453d43
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp + 0x74], esi
add edi, 1
cmp edi, 8
jl 0x453d14
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x453d5c
neg esi
mov dword [ebp + 0x74], 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 0x453d83
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 3
jl 0x453d50
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 5
jl 0x453d90
cmp esi, 0xffff0001
jge 0x453daf
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x453dd9
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp + 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x54], ecx
test ecx, ecx
jge 0x453e60
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 0x453e19
sub edi, 1
mov dword [ebp + 0x54], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x453dea
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp + 0x4c], ecx
cmp ecx, 3
jge 0x453ebc
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x453e8b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x453eb4
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 0x453eb7
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x453e70
mov dword [ebp - 4], 0xfffffffe
call fcn.00453fee
xor eax, eax
lea ebx, [ebx]
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x453ed0
test esi, esi
jle 0x453eea
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x453f09
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
xor eax, eax
mov edi, edi
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 5
jl 0x453f10
cmp esi, 0xffff0001
jge 0x453f2f
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x453f59
mov esi, 0xb
mov dword [ebp + 0x74], esi
xor ecx, ecx
jmp 0x453f60
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x453f6c
neg esi
mov dword [ebp + 0x74], 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 0x453f93
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 7
jl 0x453f60
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp - 0x1c], edi
xor ecx, ecx
mov dword [ebp + 0x44], ecx
cmp ecx, 8
jge 0x454030
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 0x453fdc
sub edi, 1
mov dword [ebp - 0x1c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x453fac
mov dword [ebp - 4], 0xfffffffe
test esi, esi
jle 0x454041
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x454060
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 6
jl 0x454065
test esi, esi
jge 0x454085
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x4540aa
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x44], edi
xor ecx, ecx
mov dword [ebp + 0x3c], ecx
test ecx, ecx
jge 0x45412d
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 0x4540e6
sub edi, 1
mov dword [ebp - 0x44], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4540b7
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 4
jge 0x454189
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454158
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x454181
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 0x454184
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x45413d
mov dword [ebp - 4], 0xfffffffe
call fcn.004541e7
mov dword [ebp - 4], 9
mov edi, 7
mov dword [ebp + 0x34], edi
xor ecx, ecx
mov dword [ebp - 0x64], ecx
test ecx, ecx
jge 0x454229
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 0x4541d5
sub edi, 1
mov dword [ebp + 0x34], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4541a6
mov dword [ebp - 4], 0xfffffffe
test esi, esi
jle 0x45423a
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x454259
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 0xa
mov edi, 7
mov dword [ebp + 0x2c], edi
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 2
jge 0x4542e4
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 0x45429d
sub edi, 1
mov dword [ebp + 0x2c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x45426d
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x4542fc
neg esi
mov dword [ebp + 0x74], 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 0x454323
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 3
jl 0x4542f0
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x454330
test esi, esi
jle 0x45434a
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x454369
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 0xb
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp ecx, 1
jge 0x4543c1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454390
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4543b9
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 0x4543bc
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x454375
mov dword [ebp - 4], 0xfffffffe
call fcn.00454420
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, 3
jge 0x454462
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 0x45440e
sub edi, 1
mov dword [ebp - 0x4c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4543de
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0xd
mov edi, 7
mov dword [ebp - 0x34], edi
xor ecx, ecx
mov dword [ebp + 0x14], ecx
cmp ecx, 4
jge 0x4544f1
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 0x4544aa
sub edi, 1
mov dword [ebp - 0x34], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x45447a
mov dword [ebp - 4], 0xfffffffe
test esi, esi
jle 0x454502
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x454521
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp + 0x70], ecx
cmp ecx, 4
jge 0x454579
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454548
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x454571
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 0x454574
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x45452d
mov dword [ebp - 4], 0xfffffffe
call fcn.004545d8
mov dword [ebp - 4], 0xf
mov edi, 7
mov dword [ebp + 0x6c], edi
xor ecx, ecx
mov dword [ebp + 0x68], ecx
cmp ecx, 4
jge 0x45461a
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 0x4545c6
sub edi, 1
mov dword [ebp + 0x6c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x454596
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x45462f
neg esi
mov dword [ebp + 0x74], 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 0x454656
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 4
jl 0x454623
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp + 0x60], ecx
cmp ecx, 3
jge 0x4546b3
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454682
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4546ab
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 0x4546ae
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x454667
mov dword [ebp - 4], 0xfffffffe
call fcn.0045486a
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x4546c1
test esi, esi
jle 0x4546db
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x4546fa
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x45470c
neg esi
mov dword [ebp + 0x74], 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 0x454733
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 2
jl 0x454700
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x454740
test esi, esi
jge 0x454760
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x454785
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x454787
cmp esi, 0xffff0001
jge 0x4547a6
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x4547d0
mov esi, 0xb
mov dword [ebp + 0x74], esi
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x4547d2
test esi, esi
jge 0x4547f2
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp + 0x74], 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 0x454817
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x11
mov edi, 7
mov dword [ebp + 0x58], edi
xor ecx, ecx
mov dword [ebp + 0x50], ecx
cmp ecx, 3
jge 0x4548ac
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 0x454858
sub edi, 1
mov dword [ebp + 0x58], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x454828
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0x12
mov edi, 7
mov dword [ebp + 0x48], edi
xor ecx, ecx
mov dword [ebp + 0x40], ecx
cmp ecx, 4
jge 0x45493b
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 0x4548f4
sub edi, 1
mov dword [ebp + 0x48], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4548c4
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x454944
test esi, esi
jle 0x45495e
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x45497d
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x454982
test esi, esi
jge 0x4549a2
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp + 0x74], 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 0x4549c7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
lea esp, [esp]
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x4549d0
cmp esi, 0xffff0001
jge 0x4549ef
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x454a1b
mov esi, 0xb
mov dword [ebp + 0x74], esi
jmp 0x454a1f
test esi, esi
jle 0x454a25
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x454a44
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov ecx, esi
mov dword [ebp + 0x74], ecx
xor eax, eax
mov edx, eax
imul ecx, edx
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 4
jl 0x454a62
test ecx, ecx
jle 0x454a7c
lea ecx, [ecx + ecx*4]
mov dword [ebp + 0x74], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov edx, ecx
sub edx, eax
jne 0x454a9b
mov ecx, 0x11
mov dword [ebp + 0x74], ecx
nop
nop
nop
xor eax, eax
mov edx, eax
imul ecx, edx
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 4
jl 0x454aa0
test ecx, ecx
jle 0x454aba
lea ecx, [ecx + ecx*4]
mov dword [ebp + 0x74], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov edx, ecx
sub edx, eax
jne 0x454ad9
mov ecx, 0x11
mov dword [ebp + 0x74], ecx
nop
nop
nop
mov dword [ebp - 4], 0x13
mov edi, 7
mov dword [ebp + 0x38], edi
xor esi, esi
mov dword [ebp + 0x30], esi
cmp esi, 1
jge 0x454b64
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 0x454b1d
sub edi, 1
mov dword [ebp + 0x38], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454aed
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0x14
xor esi, esi
mov dword [ebp + 0x28], esi
test esi, esi
jge 0x454bbf
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454b8e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x454bb7
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 0x454bba
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454b74
mov dword [ebp - 4], 0xfffffffe
call fcn.00454ca4
xor eax, eax
lea ecx, [ecx]
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 2
jl 0x454bd0
cmp ecx, 0xffff0001
jge 0x454bef
lea ecx, [ecx + ecx*2]
mov dword [ebp + 0x74], 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 0x454c19
mov ecx, 0xb
mov dword [ebp + 0x74], ecx
mov dword [ebp + 0x74], ecx
test ecx, ecx
jge 0x454c25
neg ecx
mov dword [ebp + 0x74], 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 0x454c4c
xor ecx, ecx
mov dword [ebp + 0x74], ecx
mov dword [ebp - 4], 0x15
xor esi, esi
mov dword [ebp + 0x20], esi
cmp esi, 3
jge 0x454cae
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454c70
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x454c99
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 0x454c9c
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454c55
mov dword [ebp - 4], 0xfffffffe
call fcn.00454d61
xor eax, eax
lea esp, [esp]
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 3
jl 0x454cc0
cmp ecx, 0xffff0001
jge 0x454cdf
lea ecx, [ecx + ecx*2]
mov dword [ebp + 0x74], 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 0x454d09
mov ecx, 0xb
mov dword [ebp + 0x74], ecx
mov dword [ebp - 4], 0x16
xor esi, esi
mov dword [ebp + 0x18], esi
cmp esi, 3
jge 0x454d6b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454d2d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x454d56
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 0x454d59
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454d12
mov dword [ebp - 4], 0xfffffffe
call fcn.00454dc9
mov dword [ebp - 4], 0x17
mov edi, 7
mov dword [ebp + 0x10], edi
xor esi, esi
mov dword [ebp + 8], esi
test esi, esi
jge 0x454e0b
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 0x454db7
sub edi, 1
mov dword [ebp + 0x10], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454d88
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 2
jl 0x454e14
cmp ecx, 0xffff0001
jge 0x454e33
lea ecx, [ecx + ecx*2]
mov dword [ebp + 0x74], 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 0x454e5f
mov ecx, 0xb
mov dword [ebp + 0x74], ecx
jmp 0x454e63
test ecx, ecx
jle 0x454e69
lea ecx, [ecx + ecx*4]
mov dword [ebp + 0x74], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, ecx
sub eax, edx
jne 0x454e88
mov ecx, 0x11
mov dword [ebp + 0x74], ecx
nop
nop
nop
cmp ecx, 0xffff0001
jge 0x454e99
lea ecx, [ecx + ecx*2]
mov dword [ebp + 0x74], 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 0x454ec3
mov ecx, 0xb
mov dword [ebp + 0x74], ecx
mov dword [ebp - 4], 0x18
xor esi, esi
mov dword [ebp], esi
cmp esi, 4
jge 0x454f18
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x454ee7
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x454f10
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 0x454f13
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454ecc
mov dword [ebp - 4], 0xfffffffe
call fcn.00454f76
mov dword [ebp - 4], 0x19
mov edi, 7
mov dword [ebp - 0x20], edi
xor esi, esi
mov dword [ebp - 0x28], esi
test esi, esi
jge 0x454fb8
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 0x454f64
sub edi, 1
mov dword [ebp - 0x20], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x454f35
mov dword [ebp - 4], 0xfffffffe
test ecx, ecx
jge 0x454fd2
mov eax, ecx
neg eax
add eax, eax
add eax, eax
sub eax, ecx
mov ecx, eax
mov dword [ebp + 0x74], ecx
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
sub ecx, eax
jne 0x454ff3
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x74], 0
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x455007
test esi, esi
jle 0x455021
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x455040