Function at 0x15954a3
Capabilities:
Encode data using xor

Disassembly:
pop edi
jmp 0x1595426
pop ebx
jmp 0x15956b0
push esi
jmp 0x1595182
pop eax
pop ebx
push 0x4ee5af24
mov dword [esp], edx
push esi
push ebx
jmp 0x1595766
mov edi, eax
jmp 0x159520d
push edi
mov edi, esp
add edi, 4
jmp 0x15955cc
xor eax, 0x2ef7dcf4
shl eax, 2
jmp 0x1595afa
mov ebx, 0x67e7e063
xor edi, ebx
mov ebx, dword [esp]
jmp 0x159511a
add ebx, 4
xchg dword [esp], ebx
jmp 0x1595325
mov esi, 0x3fef4631
mov ecx, esi
mov esi, dword [esp]
add esp, 4
mov esi, ecx
jmp 0x1595870
pop eax
push ebx
mov ebx, 0x5dffba72
sub edi, ebx
jmp 0x159522c
sub edx, 1
jne 0x1595b3f
jmp 0x15958f2
mov ebx, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
jmp 0x159514b
mov dword [esp + 4], ebx
pop ebx
sub dword [esp], 0x7dc79c20
shr dword [esp], 8
shl dword [esp], 1
and dword [esp], 0x3b7f65ee
add dword [esp], 0x7e828717
or dword [esp], 0x6ed65ec6
push ecx
push eax
jmp 0x1595a95
xor dword [esp + 4], edx
pop edx
jmp 0x1595305
mov dword [esp], esi
jmp 0x1595795
pop esp
push eax
jmp 0x159545e
xor esi, 0xec64c109
mov edx, esi
pop esi
jmp 0x15952f3
sub ecx, 0x59f58da1
push eax
mov dword [esp], esi
mov esi, 0x3d9f9c00
sub ecx, esi
jmp 0x15959fb
push edi
add dword [esp], 0x1f3f3bcb
pop eax
sub eax, 0x1f3f3bcb
jmp 0x1595951
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
jmp 0x1595742
or eax, 0x36af9a29
jmp 0x1595a83
neg edi
add edi, 0x6ff39f92
xor edi, 0x41d8de1c
and edi, 0x5ef7870f
push ecx
mov dword [esp], esi
mov dword [esp], ebx
jmp 0x1595135
mov dword [esp], ecx
mov ecx, edx
push ecx
jmp 0x159507e
add edi, 4
push edi
push dword [esp + 4]
pop edi
pop dword [esp]
pop esp
push edi
push eax
mov eax, 0x7cfe4a22
jmp 0x1595611
add eax, 0x77b76227
sub esp, 4
mov dword [esp], ebx
mov ebx, 0x67257368
or eax, ebx
pop ebx
push ebp
mov ebp, esp
add ebp, 4
sub ebp, 4
xchg dword [esp], ebp
pop esp
mov dword [esp], edx
mov edx, 0x172eefc7
jmp 0x15956c0
add ecx, 0x3d9f9c00
push eax
mov eax, 0x6ffeda9f
sub eax, 0x33dfee3a
xchg ecx, eax
not ecx
xchg ecx, eax
jmp 0x1595128
add esp, 4
sub dword [ecx], ebx
pop ebx
push ecx
mov dword [esp], esi
mov dword [esp], ebp
push edi
jmp 0x15956c9
pop ecx
pop edx
push ecx
mov dword [esp], edi
mov edi, 0x63ebead3
jmp 0x15954ff
shr edx, 3
push eax
jmp 0x1595718
push eax
mov eax, 0x5dffba76
jmp 0x1595113
mov eax, 0x67fda026
jmp 0x15957a3
xchg dword [esp], ebp
jmp 0x15958e7
jmp 0x1595c40
mov ebx, 0x3b6309a2
jmp 0x15952c3
sub ebx, 0x46270e65
or ecx, ebx
pop ebx
shl ecx, 1
not ecx
xor ecx, 0x6abdd99c
jmp 0x1595a76
sub esp, 4
mov dword [esp], ecx
jmp 0x15950b7
or edx, eax
pop eax
and edx, 0x7f7b35a2
xor edx, 0x58a6bf6e
and eax, edx
pop edx
sub eax, 0xb8025357
xor dword [esp + 4], eax
mov eax, dword [esp]
add esp, 4
jmp 0x1595900
mov eax, 0x5d3faaf5
push eax
pop ebp
mov eax, dword [esp]
add esp, 4
sub esp, 4
mov dword [esp], ebp
dec dword [esp]
pop ebp
add ebp, 0x76e61996
and ebp, 0x73ea6b94
shr ebp, 4
push ecx
mov ecx, 0x6fb3c4d8
jmp 0x1595a03
add edx, 4
jmp 0x1595831
xchg dword [esp], edx
pop esp
sub esp, 4
mov dword [esp], edi
mov edi, 0x4e6a6aaa
mov edx, 0x4d0041b9
xor edx, edi
jmp 0x159592f
add ebp, 0x6fd95c39
mov ecx, dword [esp]
add esp, 4
push ebp
mov ebx, dword [esp]
add esp, 4
mov ebp, dword [esp]
jmp 0x159567d
pop ecx
mov edx, 0x3b4d806a
add edx, esi
pop esi
push 0x10534420
jmp 0x15955c1
pop edi
pop ebx
jmp 0x1595ba8
push dword [esp]
jmp 0x1595b0f
pop esp
add ebx, ecx
push dword [esp]
jmp 0x1595910
sti
jmp 0x1595b60
pop edx
push ecx
mov ecx, 0x7f9336f1
xor edx, ecx
pop ecx
pop edi
jmp 0x159574a
mov ecx, dword [esp]
sub esp, 4
mov dword [esp], esi
mov esi, esp
add esi, 4
add esi, 4
push esi
push dword [esp + 4]
pop esi
jmp 0x1595959
pop edi
add edx, 0x7fbfc009
add edx, 0x6f7f85a3
add edx, ebx
sub edx, 0x6f7f85a3
push eax
mov eax, 0x7fbfc009
sub edx, eax
jmp 0x15950da
mov ebp, eax
pop eax
jmp 0x1595078
pop dword [esp]
mov esp, dword [esp]
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
sub esp, 4
mov dword [esp], ecx
mov dword [esp], ebx
add dword [esp], 0x7fffd4a5
pop dword [ecx]
sub esp, 4
mov dword [esp], ebx
jmp 0x15959c0
push 0x5e24f031
mov dword [esp], ebp
push 0x8549f4d
mov dword [esp], eax
jmp 0x15957cc
pop esi
sub ecx, ebp
jmp 0x1595654
shr ecx, 1
push ebx
mov ebx, 0x69ef9578
jmp 0x1595a5d
or ebx, 0x7dfeaa1c
xor ebx, 0x7bfd0b05
neg ebx
sub ebx, 0x5ff6c40b
jmp 0x159577c
sub ebp, 0x6fd95c39
add ebp, ecx
jmp 0x159584f
inc eax
sub eax, 0x466bc9e9
mov ecx, eax
pop eax
xor dword [esp + 4], ecx
jmp 0x1595aad
push 0x3dfd5de2
mov eax, dword [esp]
add esp, 4
sub eax, 0x7fde59c4
jmp 0x15954d1
pop ecx
shl dword [esp], 7
jmp 0x1595baf
add eax, 0xa59a4fe9
add ecx, eax
mov eax, dword [esp]
add esp, 4
jmp 0x15958b5
pop ebp
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x159521b
push edi
mov dword [esp], ebx
sub esp, 4
mov dword [esp], ebx
mov dword [esp], eax
sub esp, 4
mov dword [esp], ebp
push 0x2b7e2f10
pop ebp
sub ebp, 0x7effd5e2
sub ebp, 0x4e7eef2e
sub esp, 4
mov dword [esp], ebx
mov ebx, ebp
jmp 0x1595b9b
push esi
mov dword [esp], edi
mov edi, ebx
mov eax, edi
jmp 0x159589c
pop ebp
push eax
jmp 0x1595bc1
push edx
push esi
mov esi, 0x3ffa48df
and esi, 0x7afeb208
jmp 0x159538d
xor dword [esp], 0x7cdff845
pop ebx
xor ebx, 0x7cdff845
mov eax, dword [esp]
jmp 0x1595bdd
sub esp, 4
jmp 0x1595be5
mov dword [esp], edx
jmp 0x1595bf6
mov edx, esp
add edx, 4
jmp 0x1595826
lea ebx, [ebp + 0x122d2c4a]
call 0x1595c4b
pop eax
add eax, 0xb
mov dword [ebx], eax
jmp 0x159a6da
cmp dword [ebp + 0x122d018d], 0
je 0x159a6f1
mov dword [ebp + 0x122d2c92], 1
mov eax, dword [ebp + 0x122d0b7d]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x1250e912], ecx
mov edi, dword [ebp + 0x122d2c4a]
test edi, edi
jne 0x159a71c
jmp 0x159a85d
mov esi, edi
mov ecx, 0x4a84
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x159a723
mov ecx, dword [ebp + 0x122d2c4a]
mov edi, dword [ebp + 0x122d0b7d]
mov esi, dword [ebp + 0x1250e912]
cmp edi, esi
jne 0x159a74d
jmp 0x159a84e
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d0009], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x1244eddb]
pop ebx
test eax, eax
je 0x159a78e
lea eax, [ebp + 0x122d39ea]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d393f]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x159a835
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d2db6], 1
jne 0x159a7cb
cmp byte [ebx - 2], 0xe8
jne 0x159a7cb
cmp byte [ebx + 3], 0x90
jne 0x159a7cb
jmp 0x159a835
cmp byte [ebx - 1], 0xc5
jne 0x159a7f8
cmp dword [ebp + 0x122d2b32], 0
je 0x159a7f8
cmp dword [ebp + 0x122d07f5], 0
je 0x159a7f8
mov byte [ebx - 1], 0xe9
jmp 0x159a835
cmp dword [ebp + 0x122d018d], 0
je 0x159a825
cmp byte [ebx - 1], 0xc5
jne 0x159a825
cmp dword [ebp + 0x122d2b32], 0
je 0x159a825
mov byte [ebx - 1], 0xe9
jmp 0x159a835
cmp dword [ebx], 0x90909090
je 0x159a835
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x159a78f
cmp dword [ebp + 0x122d0009], 0
jne 0x159a74d
mov edi, dword [ebp + 0x122d2c4a]
mov ecx, 0x4a84
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28638e82
mov edi, dword [ebp + 0x122d0805]
mov ecx, 0x79
lea esi, [ebp + 0x1253deb0]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0805]
add edi, 0xe
test edx, edx
je 0x159a892
add edx, dword [ebp + 0x122d0b7d]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d3adc]
mov edi, dword [ebp + 0x122d0805]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0805]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0805]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x159a93d
mov eax, edx
call 0x159a949
xchg edi, eax
ljmp 0xbed5