Function at 0x463670
Capabilities:
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x78
push 0xfffffffffffffffe
push 0x4839f0
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x28
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
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], esi
xor ecx, ecx
mov dword [ebp + 4], ecx
test ecx, ecx
jge 0x4636fd
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4636cc
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4636f5
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 0x4636f8
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4636b2
mov dword [ebp - 4], 0xfffffffe
call fcn.00463761
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp ecx, 0x14
jge 0x46376b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x46372d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x463756
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 0x463759
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x463712
mov dword [ebp - 4], 0xfffffffe
call fcn.004637cf
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, 8
jge 0x4637d9
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x46379b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4637c4
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 0x4637c7
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x463780
mov dword [ebp - 4], 0xfffffffe
call fcn.00463a31
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 5
jl 0x4637e7
test esi, esi
jle 0x463801
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 0x463820
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, 0xe
jl 0x463825
test esi, esi
jge 0x463845
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 0x46386a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x46387c
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 0x4638a3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 0x10
jl 0x463870
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x4638b0
test esi, esi
jge 0x4638d0
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 0x4638f5
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, 7
jl 0x4638f7
cmp esi, 0xffff0001
jge 0x463916
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 0x463940
mov esi, 0xb
mov dword [ebp + 0x74], esi
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x463942
cmp esi, 0xffff0001
jge 0x463961
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 0x46398b
mov esi, 0xb
mov dword [ebp + 0x74], esi
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 7
jl 0x463990
cmp esi, 0xffff0001
jge 0x4639af
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 0x4639d9
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 2
jge 0x463a3b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4639fd
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x463a26
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 0x463a29
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4639e2
mov dword [ebp - 4], 0xfffffffe
call fcn.00463a9a
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp + 0x5c], edi
xor ecx, ecx
mov dword [ebp + 0x1c], ecx
cmp ecx, 6
jge 0x463adc
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 0x463a88
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 0x463a58
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp + 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 8
jge 0x463b6b
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 0x463b24
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 0x463af4
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 5
jl 0x463b74
test esi, esi
jge 0x463b94
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 0x463bb9
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
jmp 0x463bc0
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 6
jl 0x463bc0
test esi, esi
jge 0x463be0
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 0x463c05
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x463c13
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 0x463c3a
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 5
jl 0x463c07
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 0x463c5d
and esi, edi
jmp 0x463c73
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 0x463c44
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x463c8c
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 0x463cb3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 2
jl 0x463c80
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x463ccc
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 0x463cf3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 4
jl 0x463cc0
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp + 0x4c], edi
xor ecx, ecx
mov dword [ebp + 0x14], ecx
cmp ecx, 8
jge 0x463d9a
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 0x463d53
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 0x463d23
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp + 0x44], ecx
cmp ecx, 5
jge 0x463df6
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x463dc5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x463dee
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 0x463df1
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x463daa
mov dword [ebp - 4], 0xfffffffe
call fcn.00463e5a
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 2
jge 0x463e64
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x463e26
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x463e4f
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 0x463e52
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x463e0b
mov dword [ebp - 4], 0xfffffffe
call fcn.00463f18
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x463e72
test esi, esi
jle 0x463e8c
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 0x463eab
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 9
mov edi, 7
mov dword [ebp + 0x3c], edi
xor ecx, ecx
mov dword [ebp + 0xc], ecx
cmp ecx, 1
jge 0x463f5a
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 0x463f06
sub edi, 1
mov dword [ebp + 0x3c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x463ed6
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp + 0x34], ecx
cmp ecx, 3
jge 0x463fb6
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x463f85
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x463fae
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 0x463fb1
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x463f6a
mov dword [ebp - 4], 0xfffffffe
call fcn.0046405c
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x463fc4
test esi, esi
jge 0x463fe4
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 0x464009
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0xb
mov edi, 7
mov dword [ebp - 0x24], edi
xor ecx, ecx
mov dword [ebp + 0x2c], ecx
cmp ecx, 4
jge 0x46409e
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 0x46404a
sub edi, 1
mov dword [ebp - 0x24], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x46401a
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x4640a7
test esi, esi
jge 0x4640c7
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 0x4640ec
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x4640fc
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 0x464123
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 3
jl 0x4640f0
xor edi, edi
lea ecx, [ecx]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x464149
and esi, edi
jmp 0x46415f
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, 2
jl 0x464130
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp + 0x74], esi
not esi
mov ecx, esi
mov dword [ebp + 0x74], ecx
cmp ecx, 0xffff0001
jge 0x464196
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 0x4641c0
mov ecx, 0xb
mov dword [ebp + 0x74], ecx
xor eax, eax
and ecx, eax
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 2
jl 0x4641c2
test ecx, ecx
jge 0x4641e2
mov edx, ecx
neg edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, edx
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
mov edx, ecx
sub edx, eax
jne 0x464207
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp + 0x74], ecx
mov dword [ebp - 4], 0xc
xor esi, esi
mov dword [ebp + 0x70], esi
cmp esi, 1
jge 0x46425c
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x46422b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x464254
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 0x464257
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x464210
mov dword [ebp - 4], 0xfffffffe
call fcn.004642fe
xor esi, esi
lea ebx, [ebx]
xor ecx, esi
mov dword [ebp + 0x74], ecx
jge 0x46427c
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 0x4642a3
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
cmp esi, 4
jl 0x464270
mov dword [ebp - 4], 0xd
mov edi, 7
mov dword [ebp + 0x6c], edi
xor esi, esi
mov dword [ebp + 0x68], esi
cmp esi, 3
jge 0x464340
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 0x4642ec
sub edi, 1
mov dword [ebp + 0x6c], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x4642bc
mov dword [ebp - 4], 0xfffffffe
xor esi, esi
lea esp, [esp]
xor ecx, esi
mov dword [ebp + 0x74], ecx
jge 0x46435c
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 0x464383
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
cmp esi, 4
jl 0x464350
mov dword [ebp - 4], 0xe
xor esi, esi
mov dword [ebp + 0x60], esi
test esi, esi
jge 0x4643df
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4643ae
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4643d7
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 0x4643da
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x464394
mov dword [ebp - 4], 0xfffffffe
call fcn.004644b8
xor esi, esi
lea ecx, [ecx]
xor ecx, esi
mov dword [ebp + 0x74], ecx
jge 0x4643fc
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 0x464423
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
cmp esi, 4
jl 0x4643f0
mov esi, ecx
mov dword [ebp + 0x74], esi
test esi, esi
jge 0x464439
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 ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x464460
xor esi, esi
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0xf
xor ecx, ecx
mov dword [ebp + 0x58], ecx
cmp ecx, 4
jge 0x4644c2
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x464484
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4644ad
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 0x4644b0
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x464469
mov dword [ebp - 4], 0xfffffffe
call fcn.004644ec
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 0x4644f6
and esi, edi
jmp 0x46450c
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, 4
jl 0x4644d0
mov dword [ebp - 4], 0x10
mov edi, 7
mov dword [ebp + 0x50], edi
xor ecx, ecx
mov dword [ebp + 0x48], ecx
cmp ecx, 2
jge 0x46459f
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 0x464558
sub edi, 1
mov dword [ebp + 0x50], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x464528
mov dword [ebp - 4], 0xfffffffe
not esi
mov dword [ebp + 0x74], esi
cmp esi, 0xffff0001
jge 0x4645b9
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 0x4645e3
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x11
xor ecx, ecx
mov dword [ebp + 0x40], ecx
cmp ecx, 3
jge 0x464638
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x464607
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x464630
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 0x464633
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4645ec
mov dword [ebp - 4], 0xfffffffe
call fcn.00464662
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 0x46466c
and esi, edi
jmp 0x464682
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, 3
jl 0x464646
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x46469c
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 0x4646c3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 3
jl 0x464690
xor edi, edi
lea ecx, [ecx]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x4646e9
and esi, edi
jmp 0x4646ff
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, 3
jl 0x4646d0
xor ecx, ecx
xor eax, eax
mov edi, edi
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x464710
cmp esi, 0xffff0001
jge 0x46472f
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
sub esi, edx
jne 0x464756
mov dword [ebp + 0x74], 0xb
mov dword [ebp + 0x74], ecx
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 0x12
mov edi, 7
mov dword [ebp + 0x38], edi
mov dword [ebp + 0x30], ecx
cmp ecx, 3
jge 0x4647ea
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 0x4647a3
sub edi, 1
mov dword [ebp + 0x38], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x464773
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0x13
mov edi, 7
mov dword [ebp + 0x28], edi
xor ecx, ecx
mov dword [ebp + 0x20], ecx
cmp ecx, 3
jge 0x464879
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 0x464832
sub edi, 1
mov dword [ebp + 0x28], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x464802
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x464882
test esi, esi
jge 0x4648a2
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 0x4648c7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x14
mov edi, 7
mov dword [ebp + 0x18], edi
xor ecx, ecx
mov dword [ebp + 0x10], ecx
cmp ecx, 3
jge 0x46494f
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 0x464908
sub edi, 1
mov dword [ebp + 0x18], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4648d8
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x464964
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 0x46498b
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 3
jl 0x464958
mov dword [ebp - 4], 0x15
xor ecx, ecx
mov dword [ebp + 8], ecx
test ecx, ecx
jge 0x4649e7
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4649b6
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4649df
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 0x4649e2
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x46499c
mov dword [ebp - 4], 0xfffffffe
call fcn.00464a4f
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x4649f5
test esi, esi
jle 0x464a0f
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 0x464a2e
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
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 0x464a59
and esi, edi
jmp 0x464a6f
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, 3
jl 0x464a33
mov dword [ebp - 4], 0x16
mov edi, 7
mov dword [ebp], edi
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 1
jge 0x464b02
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 0x464abb
sub edi, 1
mov dword [ebp], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x464a8b
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
jmp 0x464b10
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x464b10
test esi, esi
jge 0x464b30
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 0x464b55
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x74], esi
test esi, esi
jge 0x464b61
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 0x464b88
xor esi, esi
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x17
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 3
jge 0x464bdd
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x464bac
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x464bd5
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 0x464bd8
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x464b91
mov dword [ebp - 4], 0xfffffffe
call fcn.00464c4c
xor eax, eax
jmp 0x464bf0
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x464bf0
test esi, esi
jle 0x464c0a
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 0x464c29
mov esi, 0x11
mov dword [ebp + 0x74], 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 0x464c56