Function at 0x650958
Capabilities:
Encode data using xor

Disassembly:
pop edi
popal
mov dword [ebp + 0x1248148c], eax
jmp 0x6500b5
jmp 0x6500c8
lea eax, [ebp + 0x12512bc4]
pushal
jmp 0x6500e6
mov ch, al
popal
jne 0x6500f7
pushal
mov si, 0x469c
pushal
popal
popal
mov dword [ebp + 0x122d3450], eax
stc
lea eax, [ebp + 0x12512404]
jne 0x650121
jmp 0x650121
mov dword [ebp + 0x12451327], eax
pushal
or al, 0xa1
jmp 0x650144
popal
cmc
mov eax, 0xe920000
jge 0x650168
jmp 0x650168
test eax, eax
je 0x6502be
jg 0x650180
jmp 0x650180
mov byte [ebp + 0x122d2018], 0x56
cmc
stc
mov eax, 0xa9c530df
cmc
pushal
ja 0x650199
movsx esi, di
jmp 0x6501ad
popal
push eax
clc
push dword [ebp + 0x122d0531]
jmp 0x6501c1
call dword [ebp + 0x122d2eec]
cmc
mov dword [ebp + 0x122d2f0d], eax
stc
lea eax, [ebp + 0x122d1e45]
cmc
jmp 0x6501ea
push eax
jmp 0x650203
push 4
cld
push 0x1000
jmp 0x650224
push dword [ebp + 0x122d0e51]
pushal
jmp 0x650243
movzx ecx, dx
popal
call dword [ebp + 0x122d2f0d]
jno 0x65025d
pushal
push edi
pop ebx
xor eax, 0x47cd3f19
popal
mov edi, dword [ebp + 0x122d0e51]
jl 0x650272
pushal
mov ecx, 0x459aaba0
pushal
popal
popal
mov eax, dword [edi + 0x3c]
jbe 0x650287
jge 0x650287
jae 0x650287
add edi, eax
jmp 0x65029a
add edi, 0xf8
jmp 0x6502b6
mov dword [edi + 0x24], 0x60000020
clc
lea ebx, [ebp + 0x122d0ca9]
jmp 0x6502cf
mov eax, dword [ebx]
jmp 0x6502e6
test eax, eax
je 0x6502fc
jns 0x6502f5
cld
mov eax, dword [eax]
clc
mov dword [ebx + 4], eax
stc
mov ecx, 0x234cf6
push edi
mov dword [esp], 0x1b5c718
mov dword [esp], ebp
jmp 0x6503da
push ebx
jmp 0x650346
mov dword [esp], edi
mov dword [esp], eax
jmp 0x650463
pop ebp
mov ebp, dword [esp]
push eax
push esp
jmp 0x650352
pop ecx
xor dword [esp + 4], ebx
pop ebx
pop eax
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x337f210e
xor eax, ebp
jmp 0x650322
push edi
push eax
mov eax, 0x2cad1687
jmp 0x650370
pop eax
add eax, 4
push 0x41a12583
mov dword [esp], ebp
jmp 0x650365
mov ebp, 4
push edx
jmp 0x650388
mov edi, 0xaa5bdc62
sub edi, eax
jmp 0x65037c
pop eax
mov ebx, edi
pop edi
and edi, ebx
pop ebx
jmp 0x650392
mov edx, 0x7baf00e6
jmp 0x6503f5
shr edi, 1
sub edi, 0x52205d
add esi, edi
pop edi
jmp 0x6503a3
push 0x1a006d91
mov dword [esp], ebx
mov dword [esp], ecx
mov ecx, 4
sub esi, 0x78fdec90
sub esi, ecx
add esi, 0x78fdec90
push dword [esp]
pop ecx
add esp, 4
xor esi, dword [esp]
xor dword [esp], esi
xor esi, dword [esp]
pop esp
jmp 0x650317
mov ebp, 0x6c2a
push ebp
push 0x10fa8242
mov dword [esp], ebx
push ecx
mov ecx, 0x337f210e
mov ebx, ecx
jmp 0x65032d
sub edx, 0x457f7339
add edx, 0x2bcff769
add eax, edx
pop edx
sub eax, 0x7bd7feaf
add eax, ebp
add eax, 0x7bd7feaf
sub eax, 0x61ff8516
pop ebp
push eax
jmp 0x65041c
push dword [esp + 4]
mov eax, dword [esp]
add esp, 4
pop dword [esp]
mov esp, dword [esp]
push 0x7764ff94
mov dword [esp], esi
push esp
pop esi
push edi
mov edi, 0x7ff7804d
push eax
mov eax, 0x63fdd399
or edi, eax
jmp 0x65044c
pop eax
add edi, 0x7f4bd340
push edi
not dword [esp]
pop edi
add edi, 1
jmp 0x650311
call 0x650468
push dword [esp]
jmp 0x65068c
not ebp
add ebp, 0x44073247
jmp 0x650528
add eax, 0xad598be1
add ecx, 0x7be90d25
add ecx, eax
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x7be90d25
jmp 0x650aa6
add esp, 4
sub esp, 4
mov dword [esp], ebp
mov dword [esp], ecx
jmp 0x650dfa
add esp, 4
shr ebp, 2
jmp 0x650da6
push esi
mov esi, 0x77df5710
sub esi, 0x37e02103
or edx, esi
pop esi
and edx, 0x6bfe3f92
push ebx
jmp 0x650f45
pop edx
or ebp, 0x7fee9a99
push edi
mov edi, 0xf5c7dc14
add ebp, edi
pop edi
push ecx
push ebp
jmp 0x650d2e
add ebp, 4
sub ebp, 4
push ebp
push dword [esp + 4]
pop ebp
pop dword [esp]
pop esp
mov dword [esp], eax
mov eax, 4
sub edi, 0x7e3c6995
add edi, eax
add edi, 0x7e3c6995
push dword [esp]
jmp 0x6505d9
pop edi
jmp 0x65089a
add edi, ebp
pop ebp
jmp 0x650828
push dword [esp]
mov ebp, dword [esp]
add esp, 4
jmp 0x6504b1
push edi
jmp 0x6506ac
mov ecx, 4
jmp 0x6505ad
mov esi, edx
jmp 0x6505a4
pop edx
sub esi, ebx
pop ebx
jmp 0x6505e8
push ebp
mov dword [esp], esi
mov esi, 0x63f61f86
add eax, 0x5fdba630
jmp 0x65098a
pop eax
push edx
push esp
pop edx
add edx, 4
jmp 0x6509a8
add ecx, 0x35fff4ee
push edi
mov edi, 0x68bd7db9
jmp 0x6506ff
push edx
mov edx, 4
add dword [esp + 4], edx
pop edx
jmp 0x650c26
add esp, 4
push eax
push edi
push ebp
push edx
push 0x3ebe66bf
pop edx
sub edx, 0x67be5673
jmp 0x650c2d
xor dword [esp], edx
xor edx, dword [esp]
mov esp, dword [esp]
xchg dword [esp], edi
mov esp, dword [esp]
push esi
mov dword [esp], ebx
mov dword [esp], 0x75fff077
shr dword [esp], 3
sub dword [esp], 0x178d4302
push edi
mov edi, 0xc9c96eef
xor dword [esp + 4], edi
jmp 0x650865
mov dword [esp], 0x7ef5d100
pop ecx
add ebp, ecx
pop ecx
jmp 0x65090c
mov edi, dword [esp]
jmp 0x650f30
mov ebp, 0x8e057c66
jmp 0x6509f6
mov edi, 4
add edx, edi
pop edi
xor edx, dword [esp]
xor dword [esp], edx
xor edx, dword [esp]
pop esp
push eax
mov eax, 4
jmp 0x6508cb
sub esi, 0x3bde01d4
pop eax
add esi, 0x6ff5f816
sub esi, 0xffffffff
dec esi
xor esi, 0xd4aefec0
xor edi, esi
pop esi
shl edi, 7
push ecx
mov ecx, 0x1250f73c
sub edi, ecx
pop ecx
mov eax, edi
jmp 0x650522
pop esi
jmp 0x6506c9
sub ecx, edi
mov edi, dword [esp]
sub esp, 4
mov dword [esp], edi
push esp
pop edi
add edi, 4
jmp 0x650c03
add esp, 4
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
mov esp, dword [esp]
mov dword [esp], edx
jmp 0x650cca
neg dword [esp]
push ebp
jmp 0x650694
push edx
mov edx, 0x546b03ba
not edx
jmp 0x6508ea
push esp
push dword [esp]
pop eax
jmp 0x650ee0
and dword [esp], 0x7d37225d
not dword [esp]
and dword [esp], 0x7bdc0c27
xor dword [esp], 0x5db7b568
jmp 0x650530
not edi
push edi
push dword [esp + 4]
pop edi
jmp 0x650dd4
pop edi
add ecx, edx
jmp 0x650c40
xor eax, edx
pop edx
inc eax
sub eax, 0x1fd2fef5
jmp 0x6507fc
push 0x4441cf5b
mov dword [esp], ebp
push esp
mov ebp, dword [esp]
jmp 0x65071a
push edx
mov edx, 0x5f7fe3cb
jmp 0x650d8c
sub eax, 0x1abc1dc6
xor edx, eax
jmp 0x650bc9
add eax, edx
pop edx
pop ecx
push ebx
mov dword [esp], eax
push dword [esp + 4]
pop eax
pop dword [esp]
mov esp, dword [esp]
jmp 0x65086e
add edi, 0x7f3ba7ba
add edi, dword [esp]
sub edi, 0x7f3ba7ba
push ecx
mov ecx, 0x27f52b6b
xor ecx, 0x1909834b
jmp 0x650a1f
push dword [esp]
pop edi
jmp 0x650a44
sti
add edi, 0x557f44cb
add edi, 0x159f0dca
push ebp
mov ebp, 0x5eaebb3c
jmp 0x650a3a
sub edi, edx
sub edi, 0x6fff7083
sub edi, 0x4968a9c9
pop edx
jmp 0x650935
xor ecx, eax
pop eax
push 0x8fc7ed4
jmp 0x650acb
add ecx, eax
mov eax, dword [esp]
add esp, 4
push ecx
push dword [esp + 4]
mov ecx, dword [esp]
add esp, 4
pop dword [esp]
pop esp
jmp 0x650eee
neg edx
add edx, 0xab94fc49
add ecx, edx
pop edx
add ecx, 4
xchg dword [esp], ecx
pop esp
push edi
mov dword [esp], edx
mov dword [esp], ebp
push ebp
mov dword [esp], esp
jmp 0x6505f9
shl ebp, 8
add ebp, 0x7fb1af3b
sub ebp, 0x755fbe37
sub esp, 4
mov dword [esp], ebp
jmp 0x650a67
mov eax, 4
sub ebp, eax
jmp 0x6509c4
push ebp
mov dword [esp], edi
push esp
push dword [esp]
push dword [esp]
mov edi, dword [esp]
add esp, 4
add esp, 4
add esp, 4
add edi, 4
push ebp
mov ebp, esp
jmp 0x6504f1
mov dword [esp], eax
push 0x48a7fdf2
mov dword [esp], ecx
jmp 0x650991
mov edi, dword [esp]
add esp, 4
add edi, 0x4968a9c9
add edi, 0x6fff7083
jmp 0x650886
sub eax, esi
jmp 0x650d17
pop eax
mov ecx, dword [esp]
add esp, 4
not ecx
xchg ecx, eax
xor eax, 0x3fdb5247
jmp 0x65047d
add edx, 4
xor edx, dword [esp]
jmp 0x650621
sub dword [esp + 4], ebp
mov ebp, dword [esp]
add esp, 4
push dword [esp]
mov eax, dword [esp]
add esp, 4
push eax
jmp 0x650c9c
mov edx, 4
jmp 0x650e47
sub edi, ecx
pop ecx
sub edi, 0x159f0dca
jmp 0x6507c6
xor esi, 0x2c01a3e2
sub ecx, esi
jmp 0x650b57
not ebp
shr ebp, 5
jmp 0x650470
add esp, 4
xor dword [esp], edi
xor edi, dword [esp]
xor dword [esp], edi
not edi
xchg dword [esp], edi
inc dword [esp]
add dword [esp], 0xffffffff
xchg dword [esp], edi
jmp 0x650785
mov ebp, 0x7358a667
add eax, ebp
pop ebp
add eax, 0x7ebfbcdc
add eax, ebp
sub eax, 0x7ebfbcdc
push ecx
mov ecx, 0x2e37604e
xor ecx, 0x7f57cad1
xor ecx, 0x5ffbb71c
add ecx, 0x64bd88e4
sub eax, ecx
pop ecx
pop ebp
jmp 0x650ce3
sub ecx, ebp
pop ebp
pop eax
mov edx, dword [esp]
push ecx
mov ecx, esp
jmp 0x650740
mov dword [esp], edx
mov edx, 0x5487be76
sub esp, 4
mov dword [esp], edi
push 0x649d1765
pop edi
sub ecx, 0x2fba2e5a
sub ecx, edi
add ecx, 0x2fba2e5a
jmp 0x6507aa
sub ebx, 4
xchg dword [esp], ebx
pop esp
mov dword [esp], eax
mov eax, 0x7ebf9996
not eax
push edx
mov edx, 0x67579d39
jmp 0x6507b2
pop esi
jmp 0x650bfb
pop eax
jmp 0x65059d
mov esi, dword [esp]
jmp 0x650609
push edx
mov edx, 4
add edi, edx
pop edx
xchg dword [esp], edi
pop esp
jmp 0x650c53
pop ebp
push ecx
jmp 0x650d47
xor edx, 0x68f78e0d
xor edx, 0xe838a33c
mov ebp, edx
jmp 0x6504da
push esi
mov dword [esp], eax
mov eax, 0x7767263c
push 0x3c370c13
jmp 0x650960
sub ecx, esi
add ecx, 0x68bd7db9
jmp 0x650c60
push esi
mov esi, 0x34ff0cf2
jmp 0x650d85
pop dword [esp]
pop esp
add eax, 4
push edi
mov dword [esp], 0x67dba9c1
mov dword [esp], ecx
jmp 0x65058d
push 0x50ecf5b1
mov dword [esp], esp
add dword [esp], 4
pop eax
push 0x7b3d55f0
mov dword [esp], ebp
mov ebp, 0x2ff6d50a
or ebp, 0x76ff490f
push ecx
push ecx
jmp 0x65067c
push edi
mov dword [esp], ebx
mov dword [esp], edi
mov edi, 0x3fd7ab49
xor edi, 0x6aa8ef82
mov edx, edi
jmp 0x650970
push ebx
mov ebx, 4
add eax, ebx
pop ebx
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
push dword [edi]
push dword [esp]
mov ecx, dword [esp]
jmp 0x65049a
not edx
xchg edi, edx
inc edi
push ebx
mov ebx, 0xffffffff
add edi, ebx
jmp 0x650d59
sub eax, 0x5fdba630
pop esi
jmp 0x650d7e
dec esi
add esi, 0x4efd6400
jmp 0x650df4
sub dword [esp], 0x7f7f5805
pop ecx
add ecx, 0x7f7f5805
mov edi, ecx
pop ecx
pop ebp
xchg edi, edx
jmp 0x650d05
push ebp
push ecx
mov dword [esp], 0x296be8c9
shl dword [esp], 3
jmp 0x650757
pop ebx
not edi
inc edi
push esi
push eax
mov eax, 0x55bf363c
sub eax, 0x52bf6b1c
dec eax
shl eax, 5
jmp 0x650eb7
add eax, ecx
jmp 0x6507f1
neg esi
jmp 0x650d22
and edx, 0x2fefd5b5
shr edx, 7
and edx, 0x5eea8831
sub edx, 0x9c14687b
jmp 0x650808
neg ebp
sub ebp, 0xe42011a9
mov ecx, ebp
mov ebp, dword [esp]
add esp, 4
add ebp, ecx
pop ecx
jmp 0x650e7b
pop dword [esp]
sub esp, 4
mov dword [esp], ebp
mov ebp, 0x32fe9566
add dword [esp + 4], ebp
mov ebp, dword [esp]
add esp, 4
jmp 0x650737
dec esi
jmp 0x650a2d
push 0x2370139e
mov dword [esp], esp
add dword [esp], 4
mov ecx, dword [esp]
add esp, 4
push ebx
mov dword [esp], edx
jmp 0x650a15
add ecx, edx
push dword [esp]
jmp 0x650e6c
add edx, 4
push edx
push dword [esp + 4]
pop edx
jmp 0x650c83
pop edx
push edx
mov edx, esp
add edx, 4
jmp 0x650548
push eax
jmp 0x650929
inc eax
xor eax, 0x6007d965
push eax
add dword [esp], 0x3bde01d4
jmp 0x6506f9
push edx
mov edx, esp
add edx, 4
jmp 0x650e5e
push esi
push ecx
mov dword [esp], ebx
mov ebx, 0x7afc1171
jmp 0x650f39
add esp, 4
push eax
jmp 0x65074d
push edx
push 0x7cfecd00
pop edx
jmp 0x6504bf
mov ebx, esp
add ebx, 4
jmp 0x650af5