Function at 0x10157665
Capabilities:
Encode data using xor

Disassembly:
push dword [esp]
push dword [esp]
mov ebx, dword [esp]
push eax
mov eax, esp
add eax, 4
jmp 0x10157cac
xchg dword [esp], ecx
mov esp, dword [esp]
push ebp
mov dword [esp], esi
push 0x2333e2bf
pop esi
push 0x6346
mov dword [esp], ecx
push esi
sub dword [esp], 0x55fd4688
pop ecx
add ecx, 0x55fd4688
mov ebx, ecx
pop ecx
push dword [esp]
push dword [esp]
pop esi
jmp 0x10157662
xchg dword [esp], eax
pop esp
add esp, 4
push esi
mov esi, esp
push eax
mov eax, 0x1bca196d
inc eax
jmp 0x10157b5d
push ebp
push edx
mov edx, 0x773d3064
not edx
sub edx, 1
jmp 0x1015740c
add edx, 0x6adb277e
neg edx
not edx
jmp 0x10157532
push esp
mov eax, dword [esp]
add esp, 4
push ebp
jmp 0x10157dc3
add esi, 4
jmp 0x101575e1
pop ebx
push eax
mov eax, 0xaa11dade
sub ecx, eax
jmp 0x1015773d
pop eax
add ebp, 4
sub esp, 4
jmp 0x101579a1
add ebp, edx
mov edx, dword [esp]
add esp, 4
push 0x7504
mov dword [esp], eax
push 0x58654798
pop eax
xor eax, 0x5aa6349
sub eax, 0x61a9659c
inc eax
dec eax
jmp 0x10157962
shl edx, 4
sub edx, 0x3b9db700
mov eax, edx
pop edx
push ecx
mov ecx, eax
mov edi, ecx
pop ecx
mov eax, dword [esp]
push edi
mov edi, esp
push ecx
mov ecx, 0x5aab0e9d
xor ecx, 0x5aab0e99
add edi, ecx
pop ecx
add edi, 4
xchg dword [esp], edi
jmp 0x1015775d
mov edx, dword [esp]
push edi
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
jmp 0x1015742b
push esi
push ebp
mov ebp, 0x28340e18
mov esi, ebp
pop ebp
sub dword [esp + 4], esi
pop esi
mov ebx, dword [esp]
add esp, 4
jmp 0x101579f9
and ebx, edi
pop edi
jmp 0x10157baa
push dword [esp]
jmp 0x10157695
push ebp
mov ebp, 0xc071c590
add ebx, ebp
pop ebp
xor ecx, ebx
jmp 0x10157436
mov ebx, 4
sub edi, 0x5d686592
jmp 0x10157ba3
mov eax, 0x5b371edc
shr eax, 4
add eax, 0x45464bd0
not eax
dec eax
shl eax, 8
sub esp, 4
mov dword [esp], ebx
jmp 0x10157d9f
pop edi
jmp 0x10157645
push esi
mov esi, 0x106c0724
shr esi, 4
not esi
sub esi, 0x3a459635
xor edx, esi
pop esi
mov ebp, edx
pop edx
sub eax, ebp
jmp 0x10157558
xor ebp, ebx
pop ebx
jmp 0x10157604
pop ebp
jmp 0x101576d5
pop esi
add esp, 4
jmp 0x10157975
xor ebx, 0x77977b1e
jmp 0x101574ee
push ebp
mov ebp, 0x74ab34f0
or eax, ebp
pop ebp
xchg ebx, eax
not ebx
xchg ebx, eax
xor eax, 0xd1ae02ec
push eax
mov edx, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
push dword [esp]
mov eax, dword [esp]
add esp, 4
push ecx
mov ecx, esp
add ecx, 4
add ecx, 4
jmp 0x101573ac
add esi, eax
pop eax
push edi
push ebp
push 0x655e3250
pop ebp
push edi
mov edi, 0x53013107
sub ebp, edi
jmp 0x10157743
push edi
mov dword [esp], ebx
mov ebx, 4
jmp 0x101577aa
xchg dword [esp], esi
pop esp
push edx
neg dword [esp]
pop edx
neg edx
jmp 0x101576c0
mov edi, 0x6ab87d49
shl edi, 7
sub edi, 0x21429d2a
jmp 0x101574de
add eax, ebp
pop ebp
push edx
mov dword [esp], edi
push esi
mov esi, 4
mov edi, esi
mov esi, dword [esp]
jmp 0x101578d8
pop ebp
push edi
mov edi, 0xb2d027b
and edi, 0x693d0b4e
jmp 0x10157873
push ebp
sub esp, 4
jmp 0x10157b03
push ecx
sub esp, 4
jmp 0x10157c81
pop dword [esp]
mov esp, dword [esp]
cmp edi, 0xffff9e88
jne 0x1015775e
sti
push 0x9df
jmp 0x1015780c
add esp, 4
push ebp
mov ebp, esp
push edx
mov edx, 0x5c185621
xor edx, 0x5c185625
jmp 0x10157450
mov dword [esp], ebp
jmp 0x10157a06
mov ecx, eax
pop eax
sub eax, 0xd752766
sub eax, ecx
push 0x6cdd
jmp 0x10157d6f
pop esi
push esi
push 0x2e5f
mov dword [esp], esp
add dword [esp], 4
pop esi
push edx
mov edx, 4
add esi, edx
jmp 0x101574a9
pop ebx
pop dword [esp]
mov esp, dword [esp]
mov dword [esp], eax
jmp 0x1015792c
not edx
jmp 0x101576cd
push ebx
jmp 0x10157a23
shl edx, 4
jmp 0x10157477
push ebp
mov ebp, 0x6698737b
add eax, ebp
pop ebp
add eax, ecx
push ecx
mov ecx, 0x57dd2f37
jmp 0x1015777d
not dword [esp]
pop ebx
sub ebx, 0x76fa7c1f
mov edx, ebx
mov ebx, dword [esp]
add esp, 4
add ebx, 0x39b5130c
sub ebx, edx
sub ebx, 0x39b5130c
pop edx
sub esp, 4
mov dword [esp], ecx
push esi
mov esi, 0xa950507
mov ecx, esi
pop esi
push ebp
mov ebp, 0x299162ac
or ecx, ebp
pop ebp
xor ecx, 0x24860f6e
jmp 0x10157a53
and ebx, 0x719e4f00
jmp 0x10157d35
pop eax
jmp 0x101573fb
mov edi, dword [esp]
add esp, 4
add ebp, 0x479d6086
sub ebp, 0x59fa61cb
mov edi, ebp
pop ebp
jmp 0x1015782c
pop esp
push dword [edi + ebx]
push dword [esp]
pop eax
push 0x558a
mov dword [esp], eax
mov dword [esp], esi
mov esi, esp
jmp 0x1015781d
push ebp
jmp 0x10157a3c
sub ecx, 0x67c54764
dec ecx
dec ecx
xor ecx, 0x268d0d3a
xor ecx, 0xb0029990
sub eax, 0x21f76bdd
sub eax, ecx
add eax, 0x21f76bdd
pop ecx
jmp 0x10157a8a
mov edx, esi
jmp 0x101574e6
sub edi, 0x470b6bd6
add edi, ebx
add edi, 0x470b6bd6
pop ebx
push 0x64d4
mov dword [esp], ebx
mov ebx, 4
add edi, 0x48035053
sub edi, 0x581f3518
add edi, ebx
push ecx
mov ecx, 0x3a37019f
xor ecx, 0x26614fff
and ecx, 0x29867ea0
and ecx, 0x5f591081
xor ecx, 0x635145ff
xor ecx, 0x334e70e7
add edi, ecx
pop ecx
sub edi, 0x48035053
pop ebx
push edi
push dword [esp + 4]
jmp 0x1015752c
mov dword [esp], edi
mov dword [esp], eax
sub esp, 4
mov dword [esp], edx
jmp 0x101578b9
push ebx
push ecx
mov ecx, 0x2f5b18e3
mov ebx, ecx
pop ecx
jmp 0x101579ce
add esi, edi
push dword [esp]
pop edi
push edx
mov edx, esp
push ecx
mov ecx, 0xbb73eb
jmp 0x101579b0
xor dword [esp], esi
xor esi, dword [esp]
mov esp, dword [esp]
jmp 0x10157911
neg eax
sub eax, 0x79ce70af
sub ecx, eax
mov eax, dword [esp]
add esp, 4
xor edi, ecx
pop ecx
shr edi, 8
jmp 0x101579bb
sub esp, 4
mov dword [esp], ecx
jmp 0x101578c9
or edi, 0x777755b
neg edi
add edi, 0x26052e77
xor edi, 0xb98e109
push 0x561f
mov dword [esp], ecx
push ebx
mov ebx, 0x238b2b86
dec ebx
not ebx
add ebx, 0x621d4b17
not ebx
dec ebx
push ebp
mov ebp, 0x28557dda
xor ebp, 0x559c1037
sub ebx, ebp
pop ebp
mov ecx, ebx
pop ebx
push eax
jmp 0x10157b7f
mov edx, 0x3d203cb3
mov eax, edx
pop edx
shl eax, 7
jmp 0x10157adc
push ebx
mov dword [esp], esi
mov esi, 0x5e62e99
push esi
jmp 0x10157951
add esp, 4
jmp 0x10157934
add eax, ebx
add eax, 0x7168476a
mov ebx, dword [esp]
jmp 0x10157c4e
add ebp, 0xf6deff64
add ecx, ebp
jmp 0x1015761b
mov eax, 0x32f00557
mov ebp, 0xcd0ffaad
add ebp, 0x2db738c0
jmp 0x10157a2f
push 0x2f3e
mov dword [esp], edi
push 0x1055f7b5
push dword [esp]
mov edi, dword [esp]
add esp, 4
jmp 0x10157db6
pop dword [ebx + edi]
jmp 0x10157b67
add eax, edi
pop edi
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
mov esp, dword [esp]
xor eax, edi
push dword [esp]
pop edi
add esp, 4
jmp 0x10157b9c
pop ecx
pop esi
shr ecx, 2
push ebx
push 0x1155382d
pop ebx
jmp 0x1015756a
add eax, 0x3da40cf
add ebp, eax
pop eax
sub esp, 4
jmp 0x10157679
pop dword [esp]
pop esp
sub esp, 4
mov dword [esp], ecx
push 0x23567324
mov ecx, dword [esp]
add esp, 4
sub ebx, ecx
mov ecx, dword [esp]
jmp 0x10157777
mov ebp, 0x34b6f9f
jmp 0x101576c7
mov dword [esp], ebp
push dword [esp + 4]
mov ebp, dword [esp]
jmp 0x10157d03
and ecx, 0x56cf1925
jmp 0x10157c08
xor edi, 0x4de2c670
add ecx, edi
mov edi, dword [esp]
push eax
mov eax, esp
jmp 0x10157c3e
add ebx, 0xd0a4e721
add esi, 0x8e74128
add esi, ebx
sub esi, 0x8e74128
mov ebx, dword [esp]
add esp, 4
push edi
jmp 0x10157abe
mov dword [esp], ecx
jmp 0x10157af1
add ebx, 0x28340e18
pop edx
push edi
jmp 0x101575f1
push dword [esp + 4]
pop ebp
pop dword [esp]
mov esp, dword [esp]
push ecx
push 0x256b0223
pop ecx
push ebp
mov ebp, 0x921009d
jmp 0x101578ef
mov ebx, 0x982dffe8
sub ebp, ebx
jmp 0x10157b34
add ebp, eax
sub ebp, 0x2db738c0
jmp 0x10157b19
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x10157b8e
push ebp
mov ebp, 0x223647f4
xor ebp, 0x17e747f2
xor ecx, ebp
pop ebp
xor ecx, 0x63af25c9
xor ecx, 0x7a3b3e2a
sub ebx, 0x540b5ec5
add ebx, ecx
add ebx, 0x540b5ec5
pop ecx
push 0x5c00
mov dword [esp], ebp
jmp 0x10157cc2
add eax, 0x372e5e4f
mov ecx, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], ebx
sub esp, 4
mov dword [esp], esp
add dword [esp], 4
mov ebx, dword [esp]
add esp, 4
add ebx, 4
push ebp
push eax
jmp 0x101578fc
mov edi, 4
sub esi, 0x58b52b25
add esi, edi
add esi, 0x58b52b25
jmp 0x10157b6d
push ebp
jmp 0x10157997
push 0x248d
mov dword [esp], eax
xchg dword [esp], eax
not eax
xor dword [esp], eax
jmp 0x10157c2a
mov dword [esp], eax
push edx
push esi
push 0x65f313f8
mov esi, dword [esp]
jmp 0x10157bc0
mov dword [esp], esp
add dword [esp], 4
pop ebp
add ebp, 4
add ebp, 4
jmp 0x10157ca3
pop eax
sub ebx, 0x57113aa9
sub ebx, ebp
push 0x2a6d
mov dword [esp], esi
mov esi, 0x3c0c551e
jmp 0x10157ad6
pop ebx
xor esi, ebp
pop ebp
add ebx, 0x305f75da
add ebx, esi
sub ebx, 0x305f75da
pop esi
push dword [esp]
mov ebp, dword [esp]
add esp, 4
add esp, 4
push ebx
push dword [esp + 4]
jmp 0x101576b1
add eax, 0xe435e696
jmp 0x101575bb
push ebx
jmp 0x101574fe
push dword [esp]
push dword [esp]
pop edi
add esp, 4
jmp 0x1015762d
mov eax, 0x782a2d05
neg eax
dec eax
neg eax
jmp 0x1015784e
add ebx, 0x79e4582d
add ebx, dword [esp]
jmp 0x10157c67
push ecx
push eax
jmp 0x1015750e
sub edi, ebx
jmp 0x10157bd5
add ebx, 0x687d364b
xor ebx, 0x67cc11f7
sub eax, 0x7168476a
jmp 0x101578e0
add esp, 4
dec esi
inc esi
shl esi, 1
sub esi, 0x7321c5a8
jmp 0x101577a3
add edi, 0x5d686592
push dword [esp]
pop ebx
push eax
push esp
pop eax
add eax, 4
push ebp
mov ebp, 4
sub eax, ebp
jmp 0x10157bf4
pop ebp
xchg dword [esp], eax
pop esp
mov dword [esp], edi
jmp 0x10157c01
push esp
pop edi
jmp 0x101575d3
add ecx, 0x10e4534b
or ecx, 0x54b960e6
sub ecx, 0x55ff64ea
add edx, ecx
pop ecx
add edx, 4
xchg dword [esp], edx
pop esp
push esi
jmp 0x10157cb6
xor eax, dword [esp]
xor dword [esp], eax
mov eax, dword [esp]
add esp, 4
jmp 0x10157575
add eax, 4
add eax, 4
xchg dword [esp], eax
jmp 0x10157c5f
add esp, 4
mov ecx, dword [esp]
add esp, 4
jmp 0x10157868
mov esp, dword [esp]
jmp 0x10157639
push edx
push ebx
push edx
mov edx, 0x70070ed6
mov ebx, edx
pop edx
neg ebx
inc ebx
add ebx, 0x7f283a88
push ebx
jmp 0x101576eb
mov dword [esp], ebp
mov ebp, 0x3732655b
xor dword [esp + 4], ebp
pop ebp
pop ebx
xor ebx, 0x3732655b
mov ecx, dword [esp]
add esp, 4
jmp 0x10157dd8
xchg dword [esp], ebp
pop esp
jmp 0x10157d97
add eax, 4
jmp 0x101573e2
push dword [esp + 4]
push dword [esp]
jmp 0x1015755e
push 0x1484
jmp 0x10157ccc
mov dword [esp], esp
add dword [esp], 4
push dword [esp]
push dword [esp]
pop ebp
add esp, 4
jmp 0x10157ce5
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
pop esp
push eax
mov eax, 4
add ebp, eax
jmp 0x10157444
push edx
mov edx, esp
push eax
mov eax, esp
add eax, 4
sub eax, 4
xchg dword [esp], eax
pop esp
mov dword [esp], edi
push eax
mov eax, 4
mov edi, eax
pop eax
add edx, edi
pop edi
push ebx
mov ebx, 0x6cdf4f95
xor ebx, 0x5a031327
jmp 0x10157732
add ebx, 0x54970a1
not ebx
dec ebx
sub ebx, 0xca1a4359
add edx, ebx
pop ebx
xchg dword [esp], edx
pop esp
pop dword [esp]
mov esp, dword [esp]
sti
push ebx
mov ebx, esp
add ebx, 4
sub ebx, 4
xchg dword [esp], ebx
jmp 0x10157d69
pop esp
jmp 0x101579f1
mov dword [esp], ebx
push edx
push eax
push 0x77e5aa1
push dword [esp]
pop eax
add esp, 4
inc eax
xor eax, 0x147e1f7a
mov edx, eax
pop eax
neg edx
xor edx, 0xeec2a2ce
push edx
jmp 0x101574c1
xor esi, dword [esp]
jmp 0x10157840
mov ebx, 0x88d7f45e
sub eax, 0x40995065
cdq
inc eax
sub eax, ebx
add eax, 0x40995065
pop ebx
jmp 0x10157681
push 0x12e6
mov dword [esp], eax
jmp 0x1015741b
push ebx
mov ebx, 0x396e7e58
jmp 0x10157dce
mov ebp, 0x396e7e5c
jmp 0x10157550
mov cl, 8
jnp 0x10157ded
scasb al, byte es:[edi]
sub eax, 0xed6c427
aam 0x56
fsub dword [eax]
xor eax, 0xcee7ca3f
adc ecx, ebp
pop ds
rcl dword [edx - 0x22]
sbb dh, byte [ebx]
cld
dec esi
jge 0x10157da7
add eax, 0x7d255d7
or dword [ebp + 0x32], esi
out 0x7a, eax
adc dword [esi - 0x51ee84ad], ebp
push ebx
jnp 0x10157e1d