Function at 0x472360
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x484608
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x50
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 - 0x1c], esi
xor eax, eax
lea esp, [esp]
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x28
jl 0x4723a0
cmp esi, ecx
jle 0x4723ba
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 edx, esi
sub edx, eax
jne 0x4723d9
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], ecx
mov edi, 7
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ecx
cmp ecx, 0x19
jge 0x47245e
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 0x472417
sub edi, 1
mov dword [ebp - 0x20], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4723e7
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x472473
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 0x47249a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x10
jl 0x472467
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x1a
jge 0x4724f7
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4724c6
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4724ef
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 0x4724f2
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4724ab
mov dword [ebp - 4], 0xfffffffe
call fcn.00472556
mov dword [ebp - 4], 2
mov edi, 7
mov dword [ebp - 0x2c], edi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 0x1f
jge 0x472598
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 0x472544
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 0x472514
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x4725a1
test esi, esi
jge 0x4725c1
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 0x4725e6
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x4725e8
test esi, esi
jge 0x472608
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 0x47262d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 1
jge 0x472682
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x472651
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x47267a
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 0x47267d
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472636
mov dword [ebp - 4], 0xfffffffe
call fcn.004726e1
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 5
jge 0x472723
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 0x4726cf
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 0x47269f
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 2
jge 0x47277f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x47274e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472777
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 0x47277a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472733
mov dword [ebp - 4], 0xfffffffe
call fcn.004727e3
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 0xb
jge 0x4727ed
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4727af
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4727d8
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 0x4727db
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472794
mov dword [ebp - 4], 0xfffffffe
call fcn.00472893
xor ecx, ecx
jmp 0x472800
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x47280c
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 0x472833
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xa
jl 0x472800
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 5
jge 0x47289d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x47285f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472888
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 0x47288b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472844
mov dword [ebp - 4], 0xfffffffe
call fcn.0047294c
xor ecx, ecx
jmp 0x4728b0
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4728bc
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 0x4728e3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x4728b0
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4728fc
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 0x472923
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x4728f0
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 0x472956
and esi, edi
jmp 0x47296c
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 0x472930
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 8
jge 0x4729cc
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x47299b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4729c4
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 0x4729c7
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472980
mov dword [ebp - 4], 0xfffffffe
call fcn.00472a2e
xor eax, eax
lea ebx, [ebx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 9
jl 0x4729e0
cmp esi, 0xffff0001
jge 0x4729ff
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 0x472a38
mov esi, 0xb
mov dword [ebp - 0x1c], esi
jmp 0x472a3c
test esi, esi
jle 0x472a42
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 0x472a61
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jne 0x472a7f
and esi, edi
jmp 0x472a95
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 0x472a66
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 5
jge 0x472af5
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x472ac4
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472aed
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 0x472af0
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472aa9
mov dword [ebp - 4], 0xfffffffe
call fcn.00472b59
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x54], ecx
cmp ecx, 4
jge 0x472b63
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x472b25
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472b4e
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 0x472b51
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472b0a
mov dword [ebp - 4], 0xfffffffe
call fcn.00472bc7
mov dword [ebp - 4], 0xb
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp ecx, 3
jge 0x472bd1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x472b93
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472bbc
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 0x472bbf
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472b78
mov dword [ebp - 4], 0xfffffffe
call fcn.00472c73
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x472bec
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 0x472c13
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x472be0
mov dword [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, 3
jge 0x472c7d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x472c3f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472c68
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 0x472c6b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472c24
mov dword [ebp - 4], 0xfffffffe
call fcn.00472ce1
mov dword [ebp - 4], 0xd
xor ecx, ecx
mov dword [ebp - 0x60], ecx
cmp ecx, 5
jge 0x472ceb
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x472cad
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x472cd6
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 0x472cd9
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x472c92
mov dword [ebp - 4], 0xfffffffe
call fcn.00472d1c
xor edi, edi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x472d26
and esi, edi
jmp 0x472d3c
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 0x472d00
xor eax, eax
lea esp, [esp]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x472d50
cmp esi, 0xffff0001
jge 0x472d6f
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 0x472d99
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor ecx, ecx
jmp 0x472da0
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x472dac
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 0x472dd3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x472da0
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x472de0
test esi, esi
jge 0x472e00
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 0x472e25
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x472e27
test esi, esi
jge 0x472e47
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 0x472e6c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret