Function at 0x4101e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x438
mov ebx, dword [esp + 0x44c]
mov dword [esp + 0x38], 0x23bd21dd
mov dword [esp + 0x3c], 0x27bf25ae
mov dword [esp + 0x40], 0xdb46d944
mov dword [esp + 0x44], 0xdf01dd3d
mov dword [esp + 0x48], 0xd30cd105
mov dword [esp + 0x4c], 0xd7f6d504
mov dword [esp + 0x50], 0xcb3dc910
mov dword [esp + 0x54], 0xcf50cd55
mov dword [esp + 0x58], 0xc35dc124
mov dword [esp + 0x5c], 0xc755c553
mov dword [esp + 0x60], 0xfb04f9d8
mov dword [esp + 0x64], 0xffdefd08
mov dword [esp + 0x68], 0xf322f121
mov dword [esp + 0x6c], 0xf726f52a
mov dword [esp + 0x70], 0xebcae923
mov dword [esp + 0x74], 0xef77ed1b
mov dword [esp + 0x78], 0xe334e17e
mov dword [esp + 0x7c], 0xe72de530
mov dword [esp + 0x80], 0x9b1299b8
mov dword [esp + 0x84], 0x9f4a9d4a
mov dword [esp + 0x88], 0x93b29149
mov dword [esp + 0x8c], 0x97069555
mov dword [esp + 0x90], 0x8b168918
mov dword [esp + 0x94], 0x8f798d69
mov dword [esp + 0x98], 0x83608165
mov dword [esp + 0x9c], 0x871f857f
mov dword [esp + 0xa0], 0xbb65b92c
mov dword [esp + 0xa4], 0xbf6dbd69
mov dword [esp + 0xa8], 0xb36cb167
mov dword [esp + 0xac], 0xb760b567
mov dword [esp + 0xb0], 0xab72a988
mov dword [esp + 0xb4], 0xaf56ad57
mov dword [esp + 0xb8], 0xa35fa154
mov dword [esp + 0xbc], 0xa77aa558
mov dword [esp + 0xc0], 0x5bc65978
mov dword [esp + 0xc4], 0x5fc55dc5
mov dword [esp + 0xc8], 0x537251b5
mov dword [esp + 0xcc], 0x57b35593
mov dword [esp + 0xd0], 0x4bd149ab
mov dword [esp + 0xd4], 0x4f974dd3
mov dword [esp + 0xd8], 0x43814160
mov dword [esp + 0xdc], 0x47d445dc
mov dword [esp + 0xe0], 0x7be779e7
mov dword [esp + 0xe4], 0x7fa17d99
mov dword [esp + 0xe8], 0x73a371a1
mov dword [esp + 0xec], 0x77a875bd
mov dword [esp + 0xf0], 0x6bb469b8
mov dword [esp + 0xf4], 0x6fb06dbc
mov dword [esp + 0xf8], 0x634261b0
mov dword [esp + 0xfc], 0x67876597
mov dword [esp + 0x100], 0x1bfb19fe
mov dword [esp + 0x104], 0x1f871d8e
mov dword [esp + 0x108], 0x13c711cf
mov dword [esp + 0x10c], 0x17c115c7
mov dword [esp + 0x110], 0xbd909d6
mov dword [esp + 0x114], 0xf0e0dda
mov byte [esp + 0x118], 0
mov edi, dword [0x44acc8]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x38]
mov edx, ecx
and edx, 1
mov eax, edx
xor eax, 0xafbc8101
mov ebp, ecx
and ebp, 0xfe
sub ebp, eax
mov eax, 0x86
sub eax, ebp
add ebp, 0x79
xor eax, ebp
and eax, esi
xor eax, ebp
add al, 0xa8
mov byte [esp + ecx + 0x38], al
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0xe1
jb case.default.0x4104ac
lea eax, [esp + 0x38]
push 0
push 0
push 0
push 0
push eax
call edi
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov eax, dword [eax*4 + 0x445e38]
mov ecx, 0x52f68201
xor ecx, dword [0x445e40]
add eax, ecx
inc eax
jmp eax
fdiv dword [ecx]
fdiv qword [ecx]
loopne 0x4557e5
in al, 0x31
call 0xf07743ec
xor esp, esi
xor eax, edi
xor esp, edi
xor dword [eax], eax
xor al, byte [edx + esi]
or byte [edx], dh
or al, 0x32
adc byte [edx], dh
adc al, 0x32
sbb byte [edx], dh
sbb al, 0x32
and byte [edx], dh
and al, 0x32
sub byte [edx], dh
sub al, 0x32
xor byte [edx], dh
xor al, 0x32
cmp byte [edx], dh
cmp al, 0x32
inc eax
xor al, byte [edx + esi + 0x48]
xor cl, byte [edx + esi + 0x50]
xor dl, byte [edx + esi + 0x58]
xor bl, byte [edx + esi + 0x60]
xor ah, byte [edx + esi + 0x68]
xor ch, byte [edx + esi + 0x70]
xor dh, byte [edx + esi + 0x78]
xor bh, byte [edx + esi - 0x80]
xor bl, byte [edx]
xor cl, byte [eax + 0x32]
dec esp
xor dl, byte [eax + 0x32]
push esp
xor bl, byte [eax + 0x32]
pop esp
xor ah, byte [eax + 0x32]
xor ch, byte fs:[eax + 0x32]
insb byte es:[edi], dx
xor dh, byte [eax + 0x32]
je 0x455830
js 0x455832
jl 0x455834
xor byte [edx], 0x1a
xor al, 0x26
xor al, 0x58
xor al, 0xfc
xor al, 8
xor eax, 0x360c3544
sbb byte [esi], dh
dec ecx
in al, dx
add byte ss:[edi], dh
inc ebp
aaa
lodsd eax, dword [esi]
cmp esi, dword [esi - 0x3c416c5]
cmp ecx, dword [ebx]
cmp al, 0x7f
cmp al, 0xae
cmp al, 0xdc
cmp al, 0xeb
cmp al, 0xc
cmp eax, 0x1e000
add al, ah
add dword [eax], eax
push esp
add byte [eax], al
add byte [edx - 0x20cc3acd], bl
xor esi, ebp
xor edi, ebp
xor ecx, dword [ebx]
xor al, 0x15
xor al, 0x98
xor al, 0xaa
xor al, 0xe6
xor al, 0xd6
cmp al, 0xee
cmp al, 4
cmp eax, 0x3d383d1a
push esi
cmp eax, 0x3d823d6c
mov al, byte [0xd43db63d]
cmp eax, 0x3e083dea
push ds
cmp al, 0x3e
pop edx
js 0x4558ac
xchg esi, eax
lodsb al, byte ds:[esi]
retf 0xe83e
scasd eax, dword es:[edi]
xor esi, ecx
xor ecx, esp
xor esp, ebp
xor dword [edx + 0x32], esp
jo 0x4558eb
jge 0x4558ed
test eax, 0x6f376233
aaa
lahf
aaa
jecxz 0x4558fd
out dx, eax
cmp dword [edx + edi], edx
fdivr qword [edx]
in eax, 0x3a
jmp 0x455908
xor al, 0x26
xor eax, 0x35c7353a
fnstenv [0x36343621]
pop ebx
je 0x455932
jg 0x455934
xchg ebp, eax
xchg ebp, eax
lodsd eax, dword ss:[esi]
sal dword ss:[esi], 1
in al, 0x36
push dword [esi]
sbb esi, dword [edi]
xor dh, byte [edi]
dec esp
aaa
push edx
aaa
je 0x455949
test dword [edi], esi
mov dh, byte [edi]
lahf
aaa
sal byte [edi], 1
in al, dx
aaa
push cs
cmp byte [edx], ah
cmp byte [esi], ch
cmp byte [edi + 0x38], dl
outsb dx, byte [esi]
cmp byte [edi - 0x10c745c8], ah
cmp byte [eax], cl
cmp dword [ecx], ebx
cmp dword [edi], esi
cmp dword [ebx + 0x39], edx
push ebx
cmp dword [edx - 0x62c676c7], eax
cmp dword [edx - 0x24c63cc7], esi
cmp byte [ecx], 0x89
cmp dword [ebp - 0x3cc64dc7], ebx
cmp ebx, ebx
cmp ecx, esi
cmp dword [edi], ecx
cmp bl, byte [ebx]
cmp ch, byte [eax + 0x3a]
jnp 0x455984
cmp dh, byte [eax - 0x1dc530c6]
cmp bh, bh
cmp ah, byte [ebx]
cmp edi, dword [ebx + edi]
dec esp
cmp eax, dword [ebx + edi + 0x3bdb3bb5]
loope 0x45599b
mov al, 0x3a
iretd
push ebx
cmp al, 0xb6
cmp eax, 0x3f003dea
adc byte [edi], bh
sbb bh, byte [edi]
add byte [eax], ah
add al, byte [eax]
inc eax
add byte [eax], al
add byte [0x29302330], cl
xor byte [ebx], bh
xor byte [ebx], ah
xor ebp, dword [edi]
xor eax, dword [ecx + 0x33]
inc edi
xor ecx, dword [ebp + 0x33]
pop esp
xor esp, dword [edx + 0x33]
or byte [0x36bc36a8], dh
dec ebp
xor ebx, dword [ebx + esi + 0x62]
xor ecx, dword [eax]
xor eax, 0x36bc36a8
retf 0xe636
cmp cl, byte [edx - 0x20c55cc6]
cmp ah, byte [edi]
cmp ebp, dword [0x773b6b3b]
cmp eax, dword [eax]
add byte [eax], al
xor byte [edx], al
add byte [eax], al
add byte [eax], al
xor byte [esi], 0xd6
jmp 0x4559f0
push esp
add byte [eax], al
add al, cl
xor ebx, ebx
xor ecx, dword [esp + esi]
adc esi, dword [eax + ecx]
push edi
xchg ebx, eax
sbb al, 0x37
xor byte [edi], dh
insd dword es:[edi], dx
aaa
jae 0x455a43
mov eax, dword [0x4c37a737]
cmp byte [eax + edi - 0x69], dl
cmp byte [edx], ch
cmp dword [ecx], edi
cmp dword [ecx + 0x39], esp
jb 0x455a57
cmp byte [ecx], 0x9c
cmp dword [eax], ecx
cmp dl, byte [edx + edi]
cmp bl, byte es:[ebp + 0x3a]
jne 0x455a66
xchg edi, eax
cmp ah, byte [eax + 0x3b]
cld
cmp ecx, dword [eax]
cmp al, 0x38
cmp al, 0xeb
cmp al, 0xf7
cmp al, 0x23
cmp eax, 0x3fe13fc5
add byte [eax + 2], dl
add byte [eax], bh
add byte [eax], al
in eax, 0x30
adc eax, 0x61313431
xor dword [esi + 0x31], edi
salc
xor edx, ebp
xor ebx, edi
xor dword [ebx], edi
xor ch, byte [edx + esi - 2]
xor bl, byte [esi]
xor eax, dword [esi - 0x1cb07cd]
xor al, 0xa3
xor eax, 0x38983767
mov cl, 0x38
sar dword [eax], 0x95
mov dword [0x98376735], eax
cmp byte [ecx - 0x6ac73ec8], dh
cmp dword [ebx - 0x23c63ac7], edi
cmp dword [eax], esp
cmp edi, dword [ebx + edi]
outsb dx, byte [esi]
cmp ebx, dword [ebx - 0x15c44bc5]
cmp ebp, dword [esi]
cmp al, 0x92
cmp al, 0x5f
cmp eax, 0x3d893d84
stosb byte es:[edi], al
cmp eax, 0x3ddf3dd2
in eax, 0x3d
clc
cmp eax, 0x3e4e3e24
insb byte es:[edi], dx
cmp dword ds:[esi], 0x3ee93eb0
sbb bh, byte [edi]
sub edi, dword [edi]
aas
pop esi
aas
push 0x3f
jl 0x455aef
lea edi, [edi]
sahf
aas
test al, 0x3f
add byte [eax], al
add byte [eax + 2], ah
add byte [eax + eax], bl
add byte [edi + 0x30], dh
lahf
xor byte [ebx + 0xc30c930], bh
xor dword [edi], ebp
xor dword [ecx + esi - 8], edi
xor edi, eax
xor cl, ch
xor ah, bh
xor cl, byte [eax]
xor edi, dword [esi]
xor esi, dword [ebx + 0x35]
stosb byte es:[edi], al
xor eax, 0x362c35b0
cmp al, 0x36
pushal
push 0x36
jle 0x455b20
in al, dx
cld
and dh, byte ss:[edi]
aaa
inc edx
aaa
push edx
aaa
pop eax
aaa
in al, 0x37
ljmp 0x7c38
ret