Function at 0x167a7ec
Capabilities:
Encode data using xor

Disassembly:
mov esi, ecx
pop edi
mov bx, 0x8f95
add edi, 0xe39a
cld
sti
push 0
push esi
or si, 0x46dd
pop ebx
pop ecx
jmp 0x167a815
mov edx, dword [edi + ecx]
movzx esi, ax
sub edx, 0x310a3dbd
sbb si, 0x249d
sub edx, 0x7294c827
mov esi, edx
sub edx, 0x3b16e91c
movsx ebx, bx
mov dword [edi + ecx], edx
mov esi, ecx
jmp 0x167a84c
sub ecx, 4
pushal
adc eax, 0x424bb23b
popal
cmp ecx, 0xffff1d20
jne 0x167a887
je 0x167a878
jmp 0x167a878
sti
jmp 0x167a89a
stc
jmp 0x167a815
cmp dword [ebp + 0x122d0349], 0
je 0x167a8b1
mov dword [ebp + 0x122d3b82], 1
mov eax, dword [ebp + 0x122d0cf1]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x1245b767], ecx
mov edi, dword [ebp + 0x122d3cc6]
test edi, edi
jne 0x167a8dc
jmp 0x167aa1d
mov esi, edi
mov ecx, 0x4a94
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x167a8e3
mov ecx, dword [ebp + 0x122d3cc6]
mov edi, dword [ebp + 0x122d0cf1]
mov esi, dword [ebp + 0x1245b767]
cmp edi, esi
jne 0x167a90d
jmp 0x167aa0e
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d0681], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d2138]
pop ebx
test eax, eax
je 0x167a94e
lea eax, [ebp + 0x1245d08b]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x12461c89]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x167a9f5
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d3b72], 1
jne 0x167a98b
cmp byte [ebx - 2], 0xe8
jne 0x167a98b
cmp byte [ebx + 3], 0x90
jne 0x167a98b
jmp 0x167a9f5
cmp byte [ebx - 1], 0xc5
jne 0x167a9b8
cmp dword [ebp + 0x122d3cee], 0
je 0x167a9b8
cmp dword [ebp + 0x122d0f91], 0
je 0x167a9b8
mov byte [ebx - 1], 0xe9
jmp 0x167a9f5
cmp dword [ebp + 0x122d0349], 0
je 0x167a9e5
cmp byte [ebx - 1], 0xc5
jne 0x167a9e5
cmp dword [ebp + 0x122d3cee], 0
je 0x167a9e5
mov byte [ebx - 1], 0xe9
jmp 0x167a9f5
cmp dword [ebx], 0x90909090
je 0x167a9f5
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x167a94f
cmp dword [ebp + 0x122d0681], 0
jne 0x167a90d
mov edi, dword [ebp + 0x122d3cc6]
mov ecx, 0x4a94
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28639002
mov edi, dword [ebp + 0x122d0f65]
mov ecx, 0x79
lea esi, [ebp + 0x12541a70]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0f65]
add edi, 0xe
test edx, edx
je 0x167aa52
add edx, dword [ebp + 0x122d0cf1]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d2f7d]
mov edi, dword [ebp + 0x122d0f65]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0f65]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0f65]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x167aafd
mov eax, edx
jmp 0x167ab41
mov ecx, eax
lea eax, [ebp + 0x12541af0]
mov dword [ebp + 0x1248220b], eax
push ecx
mov ecx, esp
add ecx, 4
jmp 0x167ab73
xchg dword [esp], ecx
pop esp
mov dword [esp], ecx
mov dword [esp], 0x66b15907
mov dword [esp], edx
jmp 0x167abb5
sub ecx, 4
jmp 0x167ab5d
push edx
mov edx, esp
push edi
mov edi, 4
jmp 0x167abd4
mov edi, dword [esp]
add esp, 4
jmp 0x167abad
mov dword [esp], eax
mov dword [esp], ecx
mov ecx, 0x7547
push esi
mov esi, ecx
mov edx, esi
pop esi
jmp 0x167abf4
add edx, 4
jmp 0x167abe7
mov dword [esp], esi
mov dword [esp], edx
push eax
mov dword [esp], 0x4a28cb1f
jmp 0x167ab97
mov edx, dword [esp]
add esp, 4
push eax
jmp 0x167abfd
add edx, 0x7ffc6ffb
add edx, edi
sub edx, 0x7ffc6ffb
jmp 0x167ab89
xchg dword [esp], edx
mov esp, dword [esp]
mov eax, edx
jmp 0x167abc8
push dword [esp]
pop ecx
jmp 0x167ab7b
call 0x167ac02
push dword [esp]
jmp 0x167aca6
mov eax, 0x6c2a771a
or ebp, eax
pop eax
shl ebp, 5
sub ebp, 0x65dfe546
mov esi, ebp
pop ebp
mov edx, 0x9d90dded
add edx, esi
pop esi
shr edx, 4
push ecx
mov ecx, 0x68e77e0c
add edx, ecx
pop ecx
jmp 0x167b197
mov dword [esp], ecx
mov ecx, 4
add ebx, 0x1d3fc602
push eax
mov eax, 0x78bb432f
shr eax, 5
shl eax, 7
inc eax
shl eax, 8
add eax, 0x7fb32ed0
sub ebx, eax
jmp 0x167af26
add edx, ebp
pop ebp
xchg dword [esp], edx
pop esp
jmp 0x167b303
push dword [esp]
jmp 0x167aced
pop edi
push ebx
mov ebx, esp
push edi
mov edi, 0x6ee56074
sub edi, 0x767f382c
shr edi, 3
jmp 0x167ad7b
mov ebp, dword [esp]
add esp, 4
push ebx
mov ebx, 4
add edi, ebx
pop ebx
xor edi, dword [esp]
jmp 0x167b2b3
mov eax, 0x6edf875c
add ebp, 0x3ffb2cc4
push edx
mov edx, 0x77ff161e
add ebp, edx
pop edx
sub ebp, eax
sub ebp, 0x77ff161e
sub ebp, 0x3ffb2cc4
pop eax
xor ebp, 0xde9fa887
push ecx
jmp 0x167b02c
neg edi
shl edi, 6
jmp 0x167adb0
xor eax, ebx
pop ebx
jmp 0x167b216
push edx
push 0x7f5b6774
jmp 0x167b0e0
push ebx
mov ebx, 0x7bda4b98
xor ebx, 0x4714f65c
xor edi, ebx
pop ebx
add ebx, edi
jmp 0x167b03b
add esi, 0xff930003
sub eax, 0x6afd5e00
add eax, esi
jmp 0x167b67e
sub eax, 0x74ff8c59
add eax, ebp
jmp 0x167b3d3
pop ebp
push edx
mov edx, 0xf71ee71f
sub ebx, edx
pop edx
jmp 0x167b1f7
mov ebp, 0x6ebf60b9
jmp 0x167af92
mov esi, dword [esp]
push eax
mov eax, esp
add eax, 4
add eax, 4
xchg dword [esp], eax
mov esp, dword [esp]
not ebx
push ebp
mov ebp, 0x664719db
and ebp, 0x5fd88686
jmp 0x167b2f7
mov eax, 0x5e7bdbd1
add dword [esp + 4], eax
pop eax
neg dword [esp]
add dword [esp], 0xea9433c6
jmp 0x167b08e
pop eax
add ebx, ecx
add ebx, 0x6cbfafd0
push edx
mov edx, 0x1d3fc602
add ebx, 0x7e6b60d9
sub ebx, edx
push eax
mov eax, 0x3edf9062
or eax, 0x3f015ea4
sub eax, 0xc1747e0d
sub ebx, eax
pop eax
pop edx
pop ecx
push eax
jmp 0x167b05e
mov ecx, 4
add eax, ecx
pop ecx
xchg dword [esp], eax
pop esp
xchg dword [esp], eax
mov esp, dword [esp]
sti
push ecx
push 0x3d3a4347
mov dword [esp], ebp
mov dword [esp], edi
jmp 0x167b220
or ebx, ebp
jmp 0x167ae47
push eax
jmp 0x167ad4c
not ebp
and ebp, 0x3ffe71aa
inc ebp
sub ebp, 0x114010ff
jmp 0x167ac61
mov dword [esp], 0x7bccc3a0
jmp 0x167afd8
shr ebp, 2
jmp 0x167af83
push 0x6f52932e
mov dword [esp], edx
mov edx, 0x67db7b50
shr edx, 6
jmp 0x167b36f
push eax
mov eax, 0x1a4fbc45
sub dword [esp + 4], eax
pop eax
jmp 0x167b4c6
mov eax, esp
push ebp
mov ebp, 4
add eax, ebp
jmp 0x167b69f
mov dword [esp], esp
add dword [esp], 4
mov ebx, dword [esp]
add esp, 4
push eax
jmp 0x167ac37
pop edx
pop dword [esp]
pop esp
xor eax, ebx
push dword [esp]
pop ebx
push ebp
mov ebp, esp
jmp 0x167b464
mov dword [esp], esi
mov dword [esp], 0x2dcea7a8
jmp 0x167b238
mov dword [esp], ebp
add dword [esp], 0x6edb1cde
jmp 0x167b185
pop edi
add ebx, 4
jmp 0x167b1b0
push ebx
mov dword [esp], edx
mov dword [esp], 0x3970204f
jmp 0x167b760
mov ebp, 0x7fe85801
jmp 0x167b729
mov dword [esp], ecx
jmp 0x167b066
mov dword [esp], ebp
jmp 0x167ada5
add dword [esp], 0x7ffa0808
pop esi
sub esi, 0x7ffa0808
pop ecx
push esi
mov dword [esp], eax
mov eax, 0x496bcf4a
shl eax, 4
jmp 0x167b096
mov dword [esp], esi
jmp 0x167b4e5
push ebx
mov ebx, 0x7ddf0f5c
xor eax, ebx
pop ebx
push ebx
mov ebx, 0x35f5d9ca
sub ebx, 0xf9f886af
jmp 0x167ad85
push esi
mov esi, 0x5fdb3e5c
and esi, 0x5ffbcf87
and esi, 0x779c337d
neg esi
xor esi, 0xa85ba29d
add eax, esi
pop esi
sub edi, 0x5bd9cfe9
push edx
mov edx, 0x69fe7369
add edi, edx
jmp 0x167b48f
pop edx
or edx, 0x6cef801d
shl edx, 1
xor edx, 0xffffcefe
mov ebp, edx
pop edx
add ebx, ebp
push dword [esp]
pop ebp
add esp, 4
xchg dword [esp], ebx
pop esp
push ecx
mov dword [esp], edx
mov dword [esp], esi
mov dword [esp], ecx
mov dword [esp], ebx
jmp 0x167b01d
add esp, 4
mov ebx, edi
mov edi, dword [esp]
push ebp
mov dword [esp], eax
jmp 0x167afe8
mov dword [esp], edx
mov edx, 0x3ffb4554
sub edi, edx
pop edx
push edi
jmp 0x167b315
mov dword [esp], ebx
jmp 0x167b4f0
pop ebx
sub ebx, 0x6edb1cde
jmp 0x167b4d6
push eax
mov eax, 0x75ed729a
add edi, eax
pop eax
sub edi, edx
sub edi, 0x75ed729a
mov edx, dword [esp]
jmp 0x167b427
xchg dword [esp], ebx
pop esp
push eax
mov eax, esp
push edi
push esi
mov esi, 0x5fd7224d
shr esi, 4
xor esi, 0x77267800
sub esi, 0x75cac07
mov edi, esi
mov esi, dword [esp]
add esp, 4
sub edi, 0x7fbd9761
xor edi, 0x3fad7074
add edi, 0x2b92493c
jmp 0x167b2d7
pop eax
xor eax, 0xd9cba8b9
jmp 0x167b624
add eax, ebx
jmp 0x167b447
xor eax, 0xade1d046
jmp 0x167b0b0
mov edi, 0x7fff9b90
mov ecx, edi
pop edi
xor ecx, 0x7fb9075d
shr ecx, 2
neg ecx
jmp 0x167b4ae
mov dword [esp], eax
jmp 0x167afc3
shl ebx, 4
add ebx, 0x45dcdf72
sub ebp, ebx
pop ebx
jmp 0x167ae10
sub edi, 0x7fe79342
jmp 0x167b5ab
xor dword [esp], edi
xor edi, dword [esp]
mov esp, dword [esp]
push eax
mov dword [esp], 0x5bb49cad
mov dword [esp], esi
jmp 0x167b166
mov ebp, 0x6ef6144f
push eax
jmp 0x167ac0a
add eax, edi
pop edi
push esi
mov esi, 0x7cf37329
or esi, 0x779f80b8
shr esi, 8
push eax
mov eax, 0x77ed4700
and esi, eax
pop eax
jmp 0x167b325
add ebp, 0x3fbe08f4
push eax
jmp 0x167b7a2
push edi
mov edi, esp
push edx
mov dword [esp], ebp
jmp 0x167b6d5
mov dword [esp], edx
mov dword [esp], ebx
push 0x7306771a
jmp 0x167aff7
and esi, 0x7bff20c7
sub esi, 0xffffffff
jmp 0x167adc6
xchg dword [esp], ecx
xor dword [esp], 0x4de82c9b
push ecx
mov dword [esp], eax
mov dword [esp], ebp
mov ebp, 0x185d63ac
add dword [esp + 4], 0x6efe3f03
add dword [esp + 4], ebp
push ebx
jmp 0x167b7cd
add edx, 0x6fefa3cb
inc edx
sub edx, 0x6f1b585e
add edx, 0x3efde7db
jmp 0x167b55a
push 0
sub dword [esp], 0x5fefe711
sub dword [esp], edi
add dword [esp], 0x5fefe711
mov edi, dword [esp]
push esi
mov esi, esp
add esi, 4
add esi, 4
xchg dword [esp], esi
pop esp
add edi, 0x6a59097c
mov ebp, edi
jmp 0x167b697
add eax, 0x74ff8c59
pop ebp
jmp 0x167b7c6
pop ebx
sub eax, ebp
mov ebp, dword [esp]
add esp, 4
push esi
mov dword [esp], eax
xchg dword [esp], ecx
not ecx
xor dword [esp], ecx
jmp 0x167b7be
add esp, 4
jmp 0x167b2a8
mov ebx, dword [esp]
add esp, 4
jmp 0x167b6f5
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
push 0x456c9b7e
mov dword [esp], ebx
push 0x77d8f94
mov dword [esp], edx
mov dword [esp], ebp
push 0x5ffe8401
pop ebp
jmp 0x167afb2
pop edx
jmp 0x167b829
sub ecx, 0xbff31379
add edi, ecx
pop ecx
push edx
push 0x6861edf2
mov dword [esp], esi
push ebp
jmp 0x167b2cc
inc dword [esp]
shr dword [esp], 4
xchg dword [esp], ecx
dec ecx
jmp 0x167b333
pop ebp
push ecx
mov dword [esp], esi
mov esi, 0x6bddb453
jmp 0x167b6b4
sub esp, 4
jmp 0x167b74b
push edx
push ebp
jmp 0x167b054
xor dword [esp], ecx
jmp 0x167b1ec
xor edx, 0x4171bb15
jmp 0x167b611
add edi, dword [esp]
add edi, 0x7fe79342
push ebx
mov ebx, 0x6a5f7c54
add edi, ebx
pop ebx
push edi
mov dword [esp], 0x7794b33b
jmp 0x167b155
mov eax, edx
pop edx
push ebp
mov dword [esp], edi
push ecx
mov dword [esp], eax
mov edi, dword [esp]
jmp 0x167b141
mov edx, eax
pop eax
sub eax, 0x397f6c4a
sub eax, 0x15ccd136
sub eax, edx
add eax, 0x15ccd136
push ebp
push 0x393b7a14
mov dword [esp], ebx
mov dword [esp], 0x2d7e29df
pop ebp
shl ebp, 2
sub esp, 4
jmp 0x167b66b
mov dword [esp], ebx
mov ebx, 0x6eef87c7
add ebx, 0x447a3df5
jmp 0x167b25a
add eax, 0x6afd5e00
mov esi, dword [esp]
push ecx
mov dword [esp], eax
mov eax, esp
add eax, 4
push ecx
jmp 0x167af58
pop edi
not ebp
jmp 0x167b71a
pop ebp
add eax, 4
xchg dword [esp], eax
pop esp
mov eax, dword [esp]
add esp, 4
push dword [edi]
jmp 0x167b6bb
or ebx, esi
jmp 0x167aea1
push dword [esp]
mov eax, dword [esp]
push edx
mov edx, esp
add edx, 4
jmp 0x167b6cf
push ebp
jmp 0x167ae56
sub esp, 4
mov dword [esp], edi
push eax
mov dword [esp], edi
mov dword [esp], 0x22f69f5a
pop edi
shr edi, 3
and edi, 0x7bfb227b
jmp 0x167b387
sub esp, 4
mov dword [esp], edx
push eax
mov eax, 0x7ca7feb5
push ebx
mov dword [esp], ebp
push ebx
mov ebx, 0x7effa256
mov ebp, 0xc024954
xor ebp, ebx
jmp 0x167b3f9
not ebp
add ebp, 0x9600f8f3
add edi, ebp
jmp 0x167ad05
mov edx, ebp
pop ebp
shr edx, 4
jmp 0x167b734
shr edx, 8
or edx, 0x77dfff77
inc edx
neg edx
sub edx, 0x65268316
jmp 0x167b044
mov dword [esp], ecx
mov ecx, 1
push 0x50b7525a
mov dword [esp], ecx
jmp 0x167b06e
mov dword [esp], edx
mov ebx, dword [esp]
jmp 0x167b76b
add esp, 4
mov edx, dword [esp]
push edx
push esp
pop edx
push ebp
mov ebp, 0x7f56c767
shl ebp, 2
add ebp, 0x2a4e268
add edx, 0x6ff1df29
add edx, ebp
sub edx, 0x6ff1df29
pop ebp
add edx, 4
push edx
push dword [esp + 4]
jmp 0x167b00a
mov eax, 0x6df314f
sub ebp, eax
pop eax
jmp 0x167af7c
xor ecx, dword [esp]
jmp 0x167b552
pop edx
push ebp
jmp 0x167afa6
mov ebx, 0x6efe3f03
add dword [esp + 8], 0x33d1655f
sub dword [esp + 8], ebx
push ecx
push eax
mov eax, 0x33d1655f
mov ecx, eax
pop eax
add dword [esp + 0xc], 0x68efe85a
sub dword [esp + 0xc], ecx
sub dword [esp + 0xc], 0x68efe85a
mov ecx, dword [esp]
add esp, 4
pop ebx
push dword [esp]
push dword [esp]
pop ebp
add esp, 4
add esp, 4
mov dword [esp], eax
pop dword [edi]
push ecx
mov dword [esp], 0x3b7fc5f5
push eax
jmp 0x167af0d
sub edi, 0x1ff73cba
jmp 0x167acda