Function at 0x452d20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x482d18
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
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 - 0x1c], esi
xor eax, eax
lea ebx, [ebx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x25
jl 0x452d60
test esi, esi
jge 0x452d80
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
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
sub edx, ecx
jne 0x452da7
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
lea esp, [esp]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xd
jl 0x452db0
test esi, esi
jle 0x452dca
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 0x452de9
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x452dfc
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 0x452e23
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x16
jl 0x452df0
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x32
jl 0x452e30
test esi, esi
jle 0x452e4a
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 0x452e69
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x452e7c
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 0x452ea3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x15
jl 0x452e70
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x19
jl 0x452eb0
cmp esi, 0xffff0001
jge 0x452ecf
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 0x452ef9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0
mov ebx, 7
mov dword [ebp - 0x20], ebx
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0xd
jge 0x452f49
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 0x452f3a
sub ebx, 1
mov dword [ebp - 0x20], ebx
mov eax, esi
cdq
idiv ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x452f0a
mov dword [ebp - 4], 0xfffffffe
jmp 0x452f97
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x452fac
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 0x452fd3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xf
jl 0x452fa0
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x452fec
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 0x453013
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xc
jl 0x452fe0
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x453034
test esi, esi
jge 0x453054
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 0x453075
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x453077
cmp esi, 0xffff0001
jge 0x453096
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 0x4530c0
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x4530c2
test esi, esi
jge 0x4530e2
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 0x453103
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x453111
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 0x453138
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x453105
mov dword [ebp - 4], 1
mov ebx, 7
mov dword [ebp - 0x28], ebx
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 3
jge 0x453190
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 0x453181
sub ebx, 1
mov dword [ebp - 0x28], ebx
mov eax, esi
cdq
idiv ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x453151
mov dword [ebp - 4], 0xfffffffe
jmp 0x4531de
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x4531e0
test esi, esi
jge 0x453200
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
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 0x453221
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x453223
test esi, esi
jge 0x453243
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
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 0x453264
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x453266
test esi, esi
jle 0x453280
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 0x45329f
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x10
jl 0x4532a4
test esi, esi
jle 0x4532be
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 0x4532dd
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
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 0x4532fb
and esi, edi
jmp 0x453311
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 0x4532e2
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 0x453339
and esi, edi
jmp 0x45334f
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, 0xd
jl 0x453320
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x453373
test esi, esi
jge 0x453393
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 0x4533b8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
lea ebx, [ebx]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jne 0x4533d9
and esi, edi
jmp 0x4533ef
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, 6
jl 0x4533c0
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
jge 0x45344e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45341d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x453446
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 0x453449
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x453403
mov dword [ebp - 4], 0xfffffffe
call fcn.0045352c
test esi, esi
jle 0x453464
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 ecx, [eax + eax*2]
mov edx, esi
sub edx, ecx
jne 0x453483
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x453494
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 0x4534bb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 7
jl 0x453488
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x4534cf
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 ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x4534f6
xor esi, esi
mov dword [ebp - 0x1c], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor edi, edi
nop
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jne 0x453536
and esi, edi
jmp 0x45354c
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, 4
jl 0x453510
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x453560
test esi, esi
jge 0x453580
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
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 0x4535a5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 3
mov edi, 7
mov dword [ebp - 0x34], edi
xor ecx, ecx
mov dword [ebp - 0x38], ecx
test ecx, ecx
jge 0x45362c
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 0x4535e5
sub edi, 1
mov dword [ebp - 0x34], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4535b6
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x453635
test esi, esi
jge 0x453655
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
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 0x45367a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x45368c
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 0x4536b3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x453680
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp - 0x3c], edi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
test ecx, ecx
jge 0x453742
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 0x4536fb
sub edi, 1
mov dword [ebp - 0x3c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4536cc
mov dword [ebp - 4], 0xfffffffe
xor edi, edi
jmp 0x453750
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x453769
and esi, edi
jmp 0x45377f
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 0x453750
cmp esi, 0xffff0001
jge 0x453798
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 0x4537c2
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp - 0x44], edi
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 2
jge 0x45384a
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 0x453803
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 0x4537d3
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 4
jge 0x4538a6
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x453875
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45389e
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 0x4538a1
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45385a
mov dword [ebp - 4], 0xfffffffe
call fcn.00453943
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jge 0x4538c8
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 0x4538ed
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
nop
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 4
jl 0x4538f0
test ecx, ecx
jle 0x45390a
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0x1c], 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 0x453929
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
mov eax, ecx
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret