Function at 0x8c3a46
Capabilities:
Encode data using xor

Disassembly:
call 0x8c3a46
imul eax, esi, 0xdb86f676
pop ss
or byte [eax + 0x5e5900ed], al
mov edx, 0x63216e5a
add esi, 0xe2f9
mov ecx, 0x6cec6bc3
sti
mov ebx, 0x3893
je 0x8c3a6a
movsx ecx, di
mov edi, dword [esi]
or cx, 0xc125
sub edi, 0x2dd52002
xor edi, 0x2111d000
jmp 0x8c3a88
sub edi, 0xd6392d5
adc ax, 0xd6d1
push edi
stc
pop dword [esi]
mov ax, cx
sub esi, 3
adc eax, 0x20e57da5
dec esi
mov ax, cx
sub ebx, 1
jne 0x8c3ac0
movzx eax, ax
sti
jmp 0x8c3ada
jg 0x8c3aca
mov dx, 0xa6be
jmp 0x8c3a6a
cmp dword [ebp + 0x122d12cd], 0
je 0x8c3af1
mov dword [ebp + 0x122d362b], 1
mov eax, dword [ebp + 0x122d0f29]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x122d1979], ecx
mov edi, dword [ebp + 0x122d365f]
test edi, edi
jne 0x8c3b1c
jmp 0x8c3c5d
mov esi, edi
mov ecx, 0x3c7c
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x8c3b23
mov ecx, dword [ebp + 0x122d365f]
mov edi, dword [ebp + 0x122d0f29]
mov esi, dword [ebp + 0x122d1979]
cmp edi, esi
jne 0x8c3b4d
jmp 0x8c3c4e
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d0511], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d3227]
pop ebx
test eax, eax
je 0x8c3b8e
lea eax, [ebp + 0x122d322f]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d1842]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x8c3c35
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d35eb], 1
jne 0x8c3bcb
cmp byte [ebx - 2], 0xe8
jne 0x8c3bcb
cmp byte [ebx + 3], 0x90
jne 0x8c3bcb
jmp 0x8c3c35
cmp byte [ebx - 1], 0xc5
jne 0x8c3bf8
cmp dword [ebp + 0x122d36db], 0
je 0x8c3bf8
cmp dword [ebp + 0x122d016d], 0
je 0x8c3bf8
mov byte [ebx - 1], 0xe9
jmp 0x8c3c35
cmp dword [ebp + 0x122d12cd], 0
je 0x8c3c25
cmp byte [ebx - 1], 0xc5
jne 0x8c3c25
cmp dword [ebp + 0x122d36db], 0
je 0x8c3c25
mov byte [ebx - 1], 0xe9
jmp 0x8c3c35
cmp dword [ebx], 0x90909090
je 0x8c3c35
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x8c3b8f
cmp dword [ebp + 0x122d0511], 0
jne 0x8c3b4d
mov edi, dword [ebp + 0x122d365f]
mov ecx, 0x3c7c
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28615ac2
mov edi, dword [ebp + 0x122d0edd]
mov ecx, 0x79
lea esi, [ebp + 0x12547cb0]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d0edd]
add edi, 0xe
test edx, edx
je 0x8c3c92
add edx, dword [ebp + 0x122d0f29]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d2a2e]
mov edi, dword [ebp + 0x122d0edd]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d0edd]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d0edd]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x8c3d3d
mov eax, edx
jmp 0x8c3d81
mov ecx, eax
lea eax, [ebp + 0x12547d30]
mov dword [ebp + 0x12470226], eax
sub esp, 4
mov dword [esp], eax
push dword [esp]
mov eax, dword [esp]
push ecx
mov dword [esp], eax
mov eax, esp
jmp 0x8c4027
pop esp
push ecx
jmp 0x8c3dd9
push esp
pop eax
add eax, 4
push edx
mov edx, 0x27ff3415
xor edx, 0x5b7bb1d3
or edx, 0x7a9ea8b2
add edx, 0x8161520e
push edi
mov edi, 0x7fdf8e6b
sub eax, edi
jmp 0x8c4021
push ebp
mov dword [esp], edx
mov ecx, dword [esp]
jmp 0x8c3e71
jmp 0x8c403e
push esi
push 0x5876573b
mov dword [esp], ebx
mov ebx, 0x37b76ae3
neg ebx
and ebx, 0x7f75243b
add ebx, 0x3577bbae
jmp 0x8c3f39
push eax
mov eax, 4
sub edi, eax
pop eax
xor edi, dword [esp]
jmp 0x8c3ffa
push ecx
mov ecx, esp
add ecx, 4
jmp 0x8c3e8b
sub eax, ebp
jmp 0x8c3e39
add ebp, ecx
pop ecx
jmp 0x8c3fed
pop ebp
pop ecx
add eax, 4
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
pop esp
add esp, 4
push eax
mov dword [esp], edi
mov dword [esp], ecx
push ebx
pop ecx
push ebp
mov dword [esp], 0x7f779787
sub dword [esp], 0x4a44df36
mov dword [esp], edx
mov edx, ecx
push eax
jmp 0x8c3e1c
add esp, 4
jmp 0x8c3f46
pop edx
xor eax, dword [esp]
xor dword [esp], eax
xor eax, dword [esp]
jmp 0x8c3da6
push ebp
mov dword [esp], esi
push ebp
jmp 0x8c3f1d
push dword [esp]
pop eax
add esp, 4
pop edx
pop ecx
sub esp, 4
mov dword [esp], ecx
mov dword [esp], edx
mov dword [esp], 0x7d235ea5
jmp 0x8c3fdd
shl ecx, 7
add ecx, 0x7ee7e446
inc ecx
shl ecx, 3
sub ecx, 0xd63e3e34
add eax, 0x7cbf18ff
add eax, ecx
sub esp, 4
mov dword [esp], ebp
push edx
mov edx, 0x577faf0d
mov ebp, 0x81ff9a1f
sub ebp, edx
pop edx
sub ebp, 0x795f75ad
and ebp, 0x6a7d1b7e
or ebp, 0x6b3f40c5
push ecx
mov ecx, 0x7df2ab8e
jmp 0x8c3e31
mov eax, 4
add esi, 0x5cb691ca
add esi, eax
sub esi, 0x5cb691ca
pop eax
jmp 0x8c3fcf
mov ebp, 0x76e52a13
add ebp, 0x7bfebf43
xor ebp, 0xf2e3e952
mov esi, ebp
pop ebp
sub ecx, esi
pop esi
jmp 0x8c3f94
push 0x2562c11f
mov dword [esp], ebx
jmp 0x8c3fbd
mov edx, ecx
push dword [esp]
mov ecx, dword [esp]
push ebp
mov dword [esp], edx
push esp
pop edx
push 0x26aa76fe
mov dword [esp], eax
mov dword [esp], ecx
mov ecx, 4
add edx, ecx
mov ecx, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
add edx, 4
xchg dword [esp], edx
pop esp
push esi
jmp 0x8c3f8c
push esp
pop esi
push eax
jmp 0x8c3f04
xchg dword [esp], ecx
pop esp
mov dword [esp], esi
push edx
add dword [esp], 0x7bf59c06
pop esi
sub esi, 0x7bf59c06
push edx
mov edx, esi
mov eax, edx
pop edx
mov esi, dword [esp]
add esp, 4
mov ebx, eax
jmp 0x8c3e95
pop esi
pop ebx
mov ecx, esi
mov esi, dword [esp]
add esp, 4
jmp 0x8c3eb6
add esi, 4
xchg dword [esp], esi
mov esp, dword [esp]
jmp 0x8c3de5
mov dword [esp], edi
mov edi, esp
add edi, 4
jmp 0x8c3e0b
not ebp
add ebp, 0x65f11673
jmp 0x8c3e2a
xor dword [esp], edi
xor edi, dword [esp]
mov esp, dword [esp]
mov dword [esp], ecx
jmp 0x8c400b
mov ecx, dword [esp]
push esi
mov dword [esp], 0x2b63fd33
mov dword [esp], ebx
mov dword [esp], eax
jmp 0x8c3dad
pop edi
jmp 0x8c4037
push ecx
jmp 0x8c3dea
add eax, 0x7fdf8e6b
jmp 0x8c3e7c
add eax, edx
jmp 0x8c402d
jmp 0x8c4301
push 0x3dce577
mov dword [esp], eax
jmp 0x8c431e
mov dword [esp], esi
push edx
mov dword [esp], esp
add dword [esp], 4
jmp 0x8c451b
push ebp
mov ebp, 0x67ef35b2
shl ebp, 6
dec ebp
push eax
mov eax, 0x83ec24ce
sub ebp, 0x3ef7a565
sub ebp, eax
add ebp, 0x3ef7a565
pop eax
push esi
mov esi, 0x7ef710cd
add dword [esp + 8], esi
pop esi
add dword [esp + 4], ebp
jmp 0x8c4351
push edx
mov dword [esp], 0x257dde70
sub dword [esp], 0xfae1a6e8
mov dword [esp], edi
mov edi, 0x7ef710cd
sub dword [esp + 8], edi
pop edi
mov ebp, dword [esp]
add esp, 4
mov eax, dword [esp]
add esp, 4
push ebx
push esp
jmp 0x8c43e0
pop edx
sub edx, 0x734b8678
sub esp, 4
jmp 0x8c430e
pop esp
mov dword [esp], ebx
add dword [esp], 0x6474f843
pop ebx
push eax
mov eax, 0x59fe456b
jmp 0x8c44e3
pop esi
push edi
jmp 0x8c43ec
sub eax, edx
add eax, 0x7bfb46b5
mov edx, dword [esp]
jmp 0x8c44c7
sub esi, ecx
pop ecx
xchg dword [esp], esi
pop esp
mov dword [esp], edx
sub dword [esp], 0x583fd971
push dword [esp]
pop ecx
add esp, 4
push eax
jmp 0x8c447a
pop ebx
add ebx, 4
jmp 0x8c43f9
mov edi, 0x7befd7f2
shr edi, 2
jmp 0x8c44d8
sub ebx, 4
xchg dword [esp], ebx
jmp 0x8c4467
mov ecx, dword [esp]
push edi
push 0x9e08d64
mov dword [esp], edx
mov dword [esp], ecx
mov dword [esp], esp
add dword [esp], 4
pop edi
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
sub ebx, eax
mov eax, dword [esp]
add esp, 4
push ecx
mov dword [esp], edx
jmp 0x8c450a
push ebp
mov ebp, 0x5f41cbd6
and ebp, 0x3cea6200
push edx
mov edx, 0x2dc60e61
add edx, 0x48b3c6d6
add ebp, edx
pop edx
sub ebp, 0x552f5a0f
push ebp
pop ecx
jmp 0x8c4484
pop esp
mov dword [esp], edx
mov edx, 0x77e147b1
sub eax, 0x7bfb46b5
jmp 0x8c43b3
mov eax, 0x6e10d460
jmp 0x8c44b4
pop ebp
xor eax, ecx
jmp 0x8c4407
mov ebx, ecx
pop ecx
add esi, 0x7f2f40b2
add esi, 0x17ff10e4
add esi, ebx
sub esi, 0x17ff10e4
sub esi, 0x7f2f40b2
mov ebx, dword [esp]
add esp, 4
jmp 0x8c4548
and eax, 0x4cfba8a0
xor eax, 0x142f5951
add ecx, eax
pop eax
pop edx
jmp 0x8c4558
add esp, 4
push 0x1d0aa13
mov dword [esp], esi
push esp
jmp 0x8c43ac
shl edi, 8
shr edi, 8
jmp 0x8c44f3
push ebx
mov dword [esp], 0x79795894
mov dword [esp], ecx
jmp 0x8c443f
add edi, 0xff040a08
add esi, edi
pop edi
sub esi, 4
xchg dword [esp], esi
jmp 0x8c4395
push ecx
push ebx
mov ebx, 0x734b8678
add dword [esp + 4], ebx
pop ebx
jmp 0x8c4383
pop esi
push ebx
push ecx
mov ecx, 0x7fffc11e
xor ecx, 0x56ebcb32
or ecx, 0x77ffdc1e
not ecx
or ecx, 0x7dbe95dd
add ecx, 0x36bf1f14
xor ecx, 0x347dd4f5
jmp 0x8c448c
sub esp, 4
mov dword [esp], ecx
mov ecx, 4
jmp 0x8c43c2
sub esp, 4
jmp 0x8c46b8
mov ebx, ecx
jmp 0x8c46ec
pop esp
push ecx
mov ecx, 4
add ebx, ecx
pop ecx
push eax
mov eax, 4
push ebp
mov ebp, 0x7bf83ec7
add ebx, ebp
pop ebp
jmp 0x8c471f
push esi
mov esi, 0x7feff3b1
shl esi, 4
add esi, 0x5e5f44a
xor edx, esi
jmp 0x8c4693
pop ebx
mov ecx, dword [esp]
jmp 0x8c4706
add edx, 4
xchg dword [esp], edx
pop esp
jmp 0x8c4617
add dword [esp + 8], 0x7fda9220
jmp 0x8c472f
mov eax, 0x5fe717b8
xor edx, eax
pop eax
mov ebx, edx
jmp 0x8c45cf
pop edx
pop eax
xor dword [esp + 4], ebx
pop ebx
mov edx, dword [esp]
add esp, 4
jmp 0x8c463c
add esp, 4
dec eax
sub eax, 0xfe989bc4
sub ecx, eax
pop eax
push ebx
mov dword [esp], edx
sub esp, 4
mov dword [esp], ebx
push esi
mov dword [esp], 0x52a7795b
mov dword [esp], eax
push eax
mov dword [esp], ecx
push edx
mov edx, 0x57a3d4c3
jmp 0x8c462e
push edx
mov edx, 0x5e0f141c
sub dword [esp + 8], 0x7fda9220
add dword [esp + 8], edx
jmp 0x8c45b3
mov ecx, edx
mov edx, dword [esp]
add esp, 4
push ebx
jmp 0x8c4560
xor edx, 0x57a3d4c3
jmp 0x8c4856
xor edi, dword [esp]
xor dword [esp], edi
xor edi, dword [esp]
pop esp
mov dword [esp], ecx
push edx
mov edx, 0x7cfd8e73
shl edx, 4
add edx, 0x2debc13a
add edx, 0x7bf73ed0
jmp 0x8c4585
mov dword [esp], ecx
mov dword [esp], edx
push ecx
mov dword [esp], eax
xor dword [esp], 0x5fe717b8
pop edx
push eax
jmp 0x8c45c0
mov esp, dword [esp]
mov dword [esp], eax
mov eax, ebx
jmp 0x8c47eb
pop esi
mov ecx, edx
mov edx, dword [esp]
push edx
mov edx, esp
add edx, 4
jmp 0x8c45a4
sub eax, 0x7775e5cd
pop ebx
xchg dword [esp], eax
mov esp, dword [esp]
jmp 0x8c4829
mov dword [esp], ecx
mov dword [esp], ebp
push eax
pop ebp
push ebp
jmp 0x8c46c6
pop eax
push dword [esp]
mov ebp, dword [esp]
add esp, 4
push 0x5e955f0a
mov dword [esp], ebx
push esp
mov ebx, dword [esp]
push edi
jmp 0x8c46f3
add edi, edx
jmp 0x8c47d5
mov eax, ebx
jmp 0x8c459b
mov edi, esp
add edi, 4
add edi, 4
jmp 0x8c4717
add esp, 4
sub esp, 4
jmp 0x8c466e
xchg dword [esp], edi
jmp 0x8c4567
add ebx, eax
sub ebx, 0x7bf83ec7
mov eax, dword [esp]
jmp 0x8c4764
pop edx
add dword [esp + 4], 0x3b171445
add dword [esp + 4], ecx
sub dword [esp + 4], 0x3b171445
sub dword [esp + 4], 0x5e0f141c
pop ecx
mov ecx, dword [esp]
add esp, 4
push eax
push 0x7bf76425
mov eax, dword [esp]
jmp 0x8c45e4
add esp, 4
xor ebx, dword [esp]
xor dword [esp], ebx
xor ebx, dword [esp]
jmp 0x8c477e
push eax
jmp 0x8c4810
mov esp, dword [esp]
sub esp, 4
jmp 0x8c4789
mov dword [esp], ebx
mov ebx, esp
add ebx, 4
push edi
mov edi, 0x3bffea5c
push eax
mov eax, 0x7a7f02d2
shl eax, 6
sub eax, 0x76d32f73
sub eax, 0xa8ef21a2
sub eax, 0x924b9
add edi, eax
pop eax
shr edi, 4
push eax
push edx
mov edx, 0x5da720ab
mov eax, 0xdda7fdac
add eax, edx
pop edx
sub edi, eax
pop eax
push edx
mov edx, 0x2f8fcbcb
jmp 0x8c46e5
pop edx
sub ebx, edi
pop edi
xchg dword [esp], ebx
jmp 0x8c4686
add eax, 0x7775e5cd
jmp 0x8c4822
push edi
mov dword [esp], 0x5eb6de50
mov dword [esp], ebp
mov ebp, eax
push ebp
xor dword [esp], 0x4f6bf4b3
pop ebx
xor ebx, 0x4f6bf4b3
pop ebp
mov eax, dword [esp]
jmp 0x8c4778
mov eax, esp
add eax, 4
push ebx
mov ebx, 4
jmp 0x8c47e1
add eax, ebx
jmp 0x8c46a7
push ebp
mov dword [esp], ecx
push edi
jmp 0x8c4841
add edi, 4
sub edi, 4
jmp 0x8c4647
push 0x35cbc102
mov dword [esp], esp
add dword [esp], 4
pop edi
jmp 0x8c4833
jmp 0x8c4fa5
push edi
mov edi, esp
jmp 0x8c5075
push edi
push edx
mov dword [esp], 0x58740a73
jmp 0x8c503c
xchg dword [esp], ebx
pop esp
push dword [esp]
pop edi
add esp, 4
push esi
sub esp, 4
mov dword [esp], ecx
push ebx
push 0x7b4554e5
mov dword [esp], esi
mov esi, 0x7df75dcb
xor esi, 0x2f19869e
add dword [esp + 4], esi
pop esi
jmp 0x8c5056
mov esi, ecx
mov ecx, dword [esp]
push edi
push esp
pop edi
add edi, 4
add edi, 4
xchg dword [esp], edi
jmp 0x8c5018
sub ebp, 0x7a7739fc
push ebp
pop ecx
pop ebp
add edi, 0x3bfe17dc
sub edi, ecx
sub edi, 0x3bfe17dc
jmp 0x8c508a
mov dword [esp], esp
add dword [esp], 4
pop edi
add edi, 4
add edi, 4
push edi
jmp 0x8c505f
push dword [esp]
pop ecx
jmp 0x8c4fbb
push dword [esp + 4]
pop edi
pop dword [esp]
mov esp, dword [esp]
sub ecx, 0x52eedb55
jmp 0x8c4fff
push ebx
mov ebx, 4
add edi, ebx
pop ebx
jmp 0x8c50a1
push dword [esp]
pop ecx
add esp, 4
xchg dword [esp], edi
jmp 0x8c5099
mov esp, dword [esp]
jmp 0x8c50ad
push ecx
push ebp
mov ebp, 0x7a773a00
jmp 0x8c5020
mov dword [esp], edi
push eax
jmp 0x8c50b6
push ecx
mov ecx, 0x37fffb56
sub dword [esp + 4], ecx
pop ecx
pop edi
add edi, 0x37fffb56
jmp 0x8c50cd
push 0x60a98e49
mov dword [esp], edx
mov dword [esp], edi
mov eax, dword [esp]
push ebx
mov ebx, esp
add ebx, 4
add ebx, 4
jmp 0x8c4fc9