Function at 0x649251
Capabilities:
Encode data using xor

Disassembly:
push dword [esp]
push dword [esp]
pop ecx
push ebx
jmp 0x648ef1
xor eax, esi
mov esi, dword [esp]
add esp, 4
push ebx
push ecx
mov ecx, 0x7fed27ae
sub ecx, 0x7dd5b7a3
and ecx, 0x7bba008d
xor ecx, 0x59e0ac0d
mov ebx, ecx
pop ecx
not ebx
inc ebx
jmp 0x64922b
or esi, 0x727fb631
push ebx
jmp 0x649003
mov ecx, 0x7bfa0950
neg ecx
push edx
push ebp
push esi
mov esi, 0x3ffda98d
mov ebp, esi
jmp 0x64903d
add ecx, 4
xchg dword [esp], ecx
jmp 0x649556
mov edx, 0x279fddad
add edi, edx
pop edx
sub edi, esi
jmp 0x64918e
shl ebp, 1
add ebp, 0x5fff1b15
sub ebp, 0x1fee2125
mov esi, ebp
jmp 0x649452
add esp, 4
add ecx, 4
push esi
mov esi, 4
jmp 0x648f6f
mov dword [esp], ecx
mov ecx, 4
sub eax, ecx
pop ecx
push eax
jmp 0x64945f
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
pop edx
push esi
push ebx
pop esi
jmp 0x64930f
pop esi
jmp 0x649012
pop eax
add eax, 0x7faf31f9
add eax, esi
jmp 0x6490f1
sub edi, 4
xchg dword [esp], edi
jmp 0x6490fb
mov dword [esp], ecx
jmp 0x64979d
mov dword [esp], edi
mov edi, 0x1ccec532
add edi, 0x3dfe3633
push edx
mov edx, 0x37776d4b
push eax
mov eax, 0x7bfe24ce
push eax
not dword [esp]
pop eax
add eax, 0x77ffa6c7
sub eax, 0x6daf62ba
inc eax
jmp 0x648f50
or ebp, 0x19ffcfa5
neg ebp
shl ebp, 7
shr ebp, 8
dec ebp
xor ebp, 0x3e7f8d3e
push edi
mov edi, 0xffffffff
jmp 0x648f7b
xor ebp, ecx
pop ecx
jmp 0x648f28
xor eax, 0xa78401ef
add edx, eax
pop eax
xor edi, edx
pop edx
sub ecx, edi
pop edi
add ecx, 0x6fbe5571
sub ecx, 0x37aba9b6
jmp 0x648f96
push esi
push 0x42fe67f5
pop esi
jmp 0x648e40
add ebp, edi
pop edi
shl ebp, 6
sub esp, 4
mov dword [esp], eax
mov eax, 0x6cf63466
add ebp, eax
jmp 0x649315
add ecx, dword [esp]
jmp 0x6490ca
shl edx, 4
xor edx, 0x96b6e9bb
mov ebp, 0xd8426b76
sub ebp, edx
pop edx
add ebp, 0x7dfd699d
jmp 0x64939c
push 0x4054b5b1
mov dword [esp], esi
mov esi, 0x33f7c130
sub esi, 1
push 0x92a4563
mov dword [esp], ebp
mov ebp, 0x7ffe20e2
not ebp
neg ebp
jmp 0x649147
pop ecx
push ebp
mov dword [esp], eax
mov dword [esp], esi
push 0x59bdc1fa
pop esi
dec esi
push eax
mov eax, 0x1b3fdf41
push edi
mov edi, esp
add edi, 4
jmp 0x648ee6
mov ebx, 0xc1189ff
xor esi, ebx
mov ebx, dword [esp]
jmp 0x64917e
add ecx, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
pop esp
push eax
push esp
pop eax
push esi
push eax
mov eax, 0x4fed0dda
mov esi, 0x4fed0dde
xor esi, eax
jmp 0x648ed9
xor dword [esp], eax
jmp 0x649268
pop esi
jmp 0x6491a8
xchg dword [esp], edi
mov esp, dword [esp]
add ebp, 4
xor ebp, dword [esp]
xor dword [esp], ebp
xor ebp, dword [esp]
mov esp, dword [esp]
push ecx
mov dword [esp], 0xbdee49c
shr dword [esp], 1
and dword [esp], 0x1fee7abf
xor dword [esp], 0x780905c7
shr dword [esp], 4
inc dword [esp]
xor dword [esp], 0x57a77775
add dword [esp], 0x5ffeb958
xor dword [esp], 0x7bb638cc
xor dword [esp], 0x891f3f4d
xor dword [esp], 0x3abc10d0
mov dword [esp], esi
push eax
mov dword [esp], 0x15e2273f
mov dword [esp], edi
push eax
mov dword [esp], esi
push 0x7ef64897
pop esi
add esi, 0x2f495ef1
shl esi, 3
push edi
mov edi, 0x8e02c3c0
add esi, edi
jmp 0x649521
add ecx, 0x37aba9b6
sub ecx, 0x6fbe5571
add ecx, 0x3b81777e
push 0x157ee295
mov dword [esp], ebx
jmp 0x649203
push dword [esp]
jmp 0x649163
sub eax, 0x7faf31f9
jmp 0x649388
pop esp
mov dword [esp], esi
jmp 0x6491db
push esi
mov esi, 0x6fef6d80
inc esi
not esi
or esi, 0x4f6acc9f
jmp 0x64931b
sub ebp, 0x370dd00b
add edx, ebp
pop ebp
sub edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
mov dword [esp], edx
mov dword [esp], esi
mov dword [esp], edx
push eax
sub dword [esp], 0x4fff7b03
pop edx
add edx, 0x4fff7b03
jmp 0x6493f3
add ebp, 0xffdf8149
sub esi, ebp
pop ebp
add esi, 0x537f327f
add esi, 0x77560580
sub ecx, esi
jmp 0x6490e9
pop esi
add esp, 4
sub esp, 4
jmp 0x648ef9
mov dword [esp], 0x7bc86475
mov dword [esp], eax
jmp 0x6492eb
add esp, 4
jmp 0x6493ae
push edx
push esp
pop edx
jmp 0x6491d0
sub edi, 0x279fddad
push edx
mov edx, 0x3ff5eb84
sub edi, edx
pop edx
push dword [esp]
mov esi, dword [esp]
jmp 0x64935a
and ebp, 0x5f1f0a33
xor ebp, 0x299df400
push esi
mov esi, 0x7a77bef0
xor ebp, esi
pop esi
xor ebp, 0x360b0787
mov edx, ebp
jmp 0x649283
push esi
jmp 0x6492d2
add edx, 4
jmp 0x6493b5
push ecx
mov ecx, 0x452b57d8
push ecx
xor dword [esp], 0x5affffd4
pop esi
xor esi, 0x5affffd4
pop ecx
jmp 0x648e0e
xor edi, edx
pop edx
sub ebp, edi
push dword [esp]
jmp 0x6492be
mov ebx, 0x7eef5702
jmp 0x649104
push 0x6831d361
jmp 0x648ea9
add ebp, edi
mov edi, dword [esp]
add esp, 4
push ecx
jmp 0x648e4c
inc eax
jmp 0x6495e2
xor ebx, 0x6afd017a
sub ebx, 0x7bfe9437
neg ebx
add ebx, 0x574884eb
sub eax, 0x5fdf7855
sub eax, ebx
add eax, 0x5fdf7855
pop ebx
xor esi, eax
mov eax, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
add ecx, esi
jmp 0x648ed3
xor eax, dword [esp]
mov esp, dword [esp]
jmp 0x6494d1
xor edx, esi
mov esi, dword [esp]
add esp, 4
add ecx, edx
pop edx
jmp 0x648e62
pop ebp
xor edx, 0x1c00c12f
sub ecx, edx
pop edx
sub ecx, 0x11315c8
sub eax, ecx
pop ecx
sub eax, ebp
add eax, 0x1bf65c8f
jmp 0x6494af
pop esi
add ecx, esi
jmp 0x649628
pop esp
push eax
jmp 0x6492e0
pop edi
add esp, 4
push ecx
mov ecx, 0x7ff2a700
add ebp, ecx
jmp 0x64941c
mov edx, dword [esp]
add esp, 4
jmp 0x6494a9
mov dword [esp], ecx
mov dword [esp], edi
jmp 0x649909
mov eax, 0x7fab197b
sub eax, 0x5fdf5765
shl eax, 1
or eax, 0x6792b4b2
shr eax, 1
xor eax, 0x3fcbda5b
jmp 0x649468
pop ebx
jmp 0x64949b
pop eax
jmp 0x649390
neg esi
xor esi, 0x5e7a8f97
sub ecx, esi
pop esi
add ecx, ebx
add ecx, 0x7effae96
pop ebx
sub esp, 4
mov dword [esp], edx
push 0x586ca28e
mov dword [esp], esp
add dword [esp], 4
mov edx, dword [esp]
jmp 0x649186
mov edi, 0x6fbe5d9d
push ecx
mov dword [esp], edx
jmp 0x64970c
add esp, 4
add esp, 4
cmp edi, 0xffff938c
jne 0x649643
sti
push 0x78c8e2a2
mov dword [esp], esi
push edx
push esi
mov esi, 0x7fe789e4
mov edx, esi
pop esi
push edx
jmp 0x649430
push dword [esp]
jmp 0x649446
sub ebp, 0x75a885f6
push edi
jmp 0x64934c
add ebp, 0x6f96b7a6
push edi
push eax
mov eax, 0x6ed4360
jmp 0x6497aa
add ecx, esi
jmp 0x6492a2
add edx, 4
xchg dword [esp], edx
pop esp
push edi
mov edi, 4
add edx, edi
pop edi
sub edx, 4
xchg dword [esp], edx
mov esp, dword [esp]
mov dword [esp], ebp
push esp
pop ebp
sub esp, 4
mov dword [esp], edi
mov edi, 0x5bd58858
jmp 0x64947b
add ebx, 0x79859bbb
pop edi
push edx
jmp 0x64916f
mov dword [ecx + edi], edx
mov edx, dword [esp]
push ecx
sub esp, 4
mov dword [esp], esp
add dword [esp], 4
jmp 0x649621
pop ecx
sub ebp, 0x5c6dbeb1
xor esi, ebp
mov ebp, dword [esp]
add esp, 4
jmp 0x6491ca
mov esi, dword [esp]
push edx
mov edx, esp
jmp 0x648eba
push eax
mov eax, 4
jmp 0x649650
pop esi
add esp, 4
jmp 0x64920d
pop ebp
add edi, 0x3ff5eb84
push edx
jmp 0x648e6d
push dword [esp + 4]
jmp 0x649495
add ebx, eax
pop eax
xchg dword [esp], ebx
jmp 0x649473
mov esp, dword [esp]
jmp 0x6495ba
or edi, 0x3f61d900
push ebp
mov ebp, 0x7ff5d95c
xor edi, ebp
pop ebp
add ebp, edi
mov edi, dword [esp]
push edi
jmp 0x649511
pop eax
jmp 0x6495d3
not ebx
xor esi, ebx
xor ebx, esi
xor esi, ebx
push edi
jmp 0x649783
pop esi
jmp 0x6494e2
pop ebp
push ebp
mov dword [esp], edx
mov edx, esp
push ebp
push 0x7b6aad5e
pop ebp
push 0
sub dword [esp], ebp
pop ebp
sub ebp, 0x4d878293
jmp 0x649118
mov dword [esp], esi
push ecx
mov dword [esp], ebp
mov ebp, 0x5ff7830a
jmp 0x648e7c
push 0x44feebfc
mov dword [esp], ecx
push 0x3c4cf7ea
mov dword [esp], edx
jmp 0x6495ae
mov edi, esp
add edi, 4
add edi, 4
jmp 0x649043
mov edi, dword [esp]
add esp, 4
push esi
pop edi
pop esi
mov dword [esp + 4], edi
mov edi, dword [esp]
push ecx
mov ecx, esp
push ebx
mov ebx, 4
add ecx, 0x79a51a04
add ecx, ebx
sub ecx, 0x79a51a04
mov ebx, dword [esp]
add esp, 4
jmp 0x649564
mov esp, dword [esp]
push eax
push 0x4200fd2d
jmp 0x649742
add ecx, 4
xchg dword [esp], ecx
mov esp, dword [esp]
push dword [esp]
push dword [esp]
push dword [esp]
pop edi
push ecx
jmp 0x649580
mov ecx, esp
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
add esp, 4
push ecx
push esp
push dword [esp]
jmp 0x6495dc
inc dword [esp]
not dword [esp]
add dword [esp], 0xcb7e3c6a
jmp 0x6497b4
push ebp
sub esp, 4
mov dword [esp], ecx
mov ecx, 0x75fb1b8b
mov ebp, 0xa644834
jmp 0x648f48
pop dword [esp]
pop esp
jmp 0x64967c
pop ecx
jmp 0x648e92
dec eax
add eax, 0xdaea744c
and esi, eax
pop eax
not esi
jmp 0x649814
mov dword [esp], ecx
push esp
pop ecx
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
mov esp, dword [esp]
push ebx
push esp
mov ebx, dword [esp]
add esp, 4
push edi
mov edi, 4
sub ebx, 0x79859bbb
add ebx, edi
jmp 0x6493e6
pop ecx
push edx
jmp 0x64972c
sub ecx, 0x7eee7e0a
mov esi, dword [esp]
add esp, 4
xor ecx, dword [esp]
xor dword [esp], ecx
xor ecx, dword [esp]
mov esp, dword [esp]
push dword [edi + ecx]
mov eax, dword [esp]
push ecx
push esp
jmp 0x648fe0
push eax
xor dword [esp], 0x7e5f520a
pop ebp
xor ebp, 0x7e5f520a
mov eax, dword [esp]
add esp, 4
sub ecx, 0x7ebf89f1
add ecx, ebp
add ecx, 0x7ebf89f1
pop ebp
xchg dword [esp], ecx
jmp 0x6492aa
mov dword [esp], edi
push 0x3f1bf485
jmp 0x649689
mov edi, dword [esp]
add esp, 4
push edx
mov edx, 0x55e4a893
and edx, 0x65b7b43f
add edx, 0x72cf5895
xor edx, 0x75e81948
xor edx, 0x636d6ea5
jmp 0x6496b5
sub edx, 0x59f8ff25
xor edi, edx
mov edx, dword [esp]
add esp, 4
push 0x4e2c2ad2
mov dword [esp], esi
mov esi, 0x6f748f4
xor edi, esi
push dword [esp]
pop esi
add esp, 4
sub eax, edi
pop edi
push edx
mov dword [esp], ebx
jmp 0x6496eb
mov ebx, 0x5b530f9c
xor eax, ebx
push dword [esp]
push dword [esp]
jmp 0x6496fd
mov ebx, dword [esp]
add esp, 4
push esi
jmp 0x6495f2
mov edx, 0x4fd7d6bb
sub edi, edx
pop edx
neg edi
jmp 0x64971b
sub edi, 0x5afff251
add edi, 0xe88a18a
jmp 0x649217
mov edx, 0x165d950d
sub edx, 0xa6604bfb
push esi
mov esi, 0x6ffd4916
jmp 0x649273
mov dword [esp], esp
add dword [esp], 4
pop eax
push esi
mov esi, 4
add eax, esi
pop esi
push 0x3dc3fa4c
mov dword [esp], edi
mov edi, 4
add eax, 0x7fdda8fd
sub eax, edi
jmp 0x649775
sub eax, 0x7fdda8fd
pop edi
xor eax, dword [esp]
jmp 0x649035
mov dword [esp], edx
mov edx, 0x497d1771
push eax
push ebp
push eax
mov dword [esp], 0x7bff68ad
dec dword [esp]
jmp 0x64959c
mov ecx, esp
add ecx, 4
jmp 0x6497ba
mov edi, 0x286c9fb8
jmp 0x64986f
pop ebp
jmp 0x6497c0
push ebp
jmp 0x64943b
xor ebp, 0x3087c4f9
sub esp, 4
mov dword [esp], ebp
add dword [esp], 0x7fff011d
pop eax
sub eax, 0x7fff011d
pop ebp
or edx, eax
pop eax
add edx, 0xf7f9a47b
add esi, 0x27bf519b
add esi, edx
jmp 0x6497f0
sub esi, 0x27bf519b
pop edx
push eax
jmp 0x6497fd
mov eax, 0xbbb52f7
jmp 0x649807
shr eax, 5
sub eax, 0x7fde6045
jmp 0x649225
or esi, 0x2cff5879
sub esi, 0x9d8dca6a
jmp 0x649825
mov eax, esi
pop esi
push esi
mov esi, 0x3ffe29ed
dec esi
sub esi, 0x7feca267
dec esi
not esi
shl esi, 2
dec esi
push ecx
mov ecx, 0x3bc5666f
add esi, ecx
jmp 0x649849
pop ecx
xchg esi, eax
sub eax, 0xffffffff
xor esi, eax
jmp 0x649855
xor eax, esi
xor esi, eax
xor esi, 0x52904ca2
push ebp
push edx
mov edx, 0x59ff8180
inc edx
shr edx, 1
jmp 0x648f9e
sub edi, eax
pop eax
push edx
mov edx, 0x5b8853b6
jmp 0x6491f6
mov ebx, 4
add edi, ebx
mov ebx, dword [esp]
add esp, 4
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
mov esp, dword [esp]
jmp 0x648fba
push esp
pop edi
add edi, 4
push 0x39b63ec5
jmp 0x64991b
mov dword [esp], ebx
jmp 0x64987d