Function at 0x41f8e4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
mov esi, dword [ebp]
add byte [ebx - 0x7cee74f2], cl
rol dword [eax], cl
jg 0x45d52f
xor al, byte [eax]
add al, al
jne 0xfbd542
cmp dword [ecx], 0x7fffffff
mov eax, dword [eax]
add byte [esp + ecx*2 - 0x16fffc24], al
add byte [edx + edx*8 + 0x1c70875], al
add dword [eax], eax
add byte [eax], al
mov eax, dword [esi]
mov ecx, dword [ebp - 0x80]
add cl, cl
je 0x41f95c
mov dword [eax + 0x210], 0
jle 0x41f9a1
add byte [ebp + 0x10], dl
mov eax, dword [esi]
lea edx, [edx + 4]
add byte [eax], al
mov edi, dword [eax - 0xffffdf0]
add bh, bh
inc eax
jge 0x41f957
mov dword [eax + edi*4], ebx
mov eax, dword [esi]
call dword [ebp + 0x200]
sub ecx, 1
jne 0x41f95c
add byte [esi], cl
mov ebx, dword [ecx + 8]
test dword [ebp + 0xf18400], eax
add byte [eax], al
mov edi, dword [ecx]
cmp edi, dword [ecx + 0x1b10]
jne 0x41fa5a
add byte [eax], al
test edi, edi
jle 0x41f9aa
lea esi, [esi]
add byte [ebx + 0x104b8], al
add byte [eax], al
cmp dword [eax + 0x104], 0
add byte [eax], al
leave
add byte [eax], al
add byte [ebx + 0x10086], cl
add byte [ebx], bh
xor byte [ebx - 0x72ffff8b], cl
mov eax, 0x30000000
add byte [eax], dh
add al, al
add al, 0x3b
xlatb
jl 0x41f984
xor eax, dword [eax]
add byte [ebp + 0x10], dl
test edi, edi
jle 0x41f9bd
add byte [ecx + 0x110], al
mov dword [ebp], eax
add byte [esi], al
push es
lea ebx, [ebx + 0xc30000]
cmp dword [eax - 0x104], 0xea
jne 0x41fa4a
mov eax, 0x20005441
imul ebx
sar edx, 7
mov eax, dword [eax]
add bl, ch
pop ds
add ebx, edx
mov esp, edi
add byte [ebx + 0x8b1055], cl
imul eax, dword [eax]
add al, dl
mov eax, dword [ebp + 8]
sub ecx, 0
mov dword [ebp + 0x10], edx
mov dword [ebp + 8], eax
add dword [eax], 0
jne 0x41f9c4
or byte [ebx + 0x558900e9], al
adc byte [ecx + 0x830845], cl
add byte [ebp - 0x3b], dh
test edx, edx
js 0x41f9f0
add byte [ecx + 4], al
lea ebx, [edx*4]
mov ecx, dword [ebx + eax]
test ecx, ecx
aam 0
dec ebp
fild dword [ebx]
add byte [edx + 0x10], ch
call fcn.0042fa1f
add esp, 4
sbb eax, dword [eax]
mov ecx, edi
push dword [ebp + 0xc]
mov dword [edi], 0
call fcn.0042c414
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov dword [eax], eax
add byte [ebx + 0x4418b0e], cl
jnp 0x41fa44
add ebx, dword [edi + 0x5e]
pop ebx
pop ebp
ret
mov eax, dword [eax]
add byte [ebp + 8], bl
cdq
idiv dword [ebx - 0xff17]
mov ebx, eax
jmp 0x41f9e1
xor eax, dword [eax]
add bh, ah
push ebp
mov ebp, esp
cmp dword [edx + 0x64ec8300], 0x53
mov ebx, dword [ebp + 8]
add byte [eax], al
dec esp
and al, 0x24
push edi
mov ebx, dword [edx]
mov esi, dword [eax]
mov ecx, esi
call fcn.0041fd44
mov eax, dword [esi + 8]
mov eax, dword [eax]
inc byte [eax]
and al, 0x10
mov eax, dword [ebx + 4]
mov esi, dword [eax]
add byte [eax], al
call fcn.0041fd44
mov ebp, 0x788b0800
add al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.00426b44
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [eax], eax
add byte [eax], ah
mov eax, dword [ebx + 4]
mov ebp, dword [edx]
add byte [ebx + 0x289e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebp - 0x6bbfdbb4], cl
add byte [eax + 4], dh
mov dword [esp + 0x20], esi
call 0x40facf
mov edx, dword [ebp + 8]
mov edx, 0x89c03300
pop esp
and al, 0x30
mov al, byte [eax]
add byte [eax - 0x7cf0dbb4], cl
fadd dword [eax]
add ecx, dword [edi]
or byte [esi + 0x3da], 0
add al, 0x8b
dec eax
or al, ch
mov word [eax], es
add byte [eax], al
mov edx, eax
xor eax, eax
inc eax
add byte [eax], al
and al, 0x30
test dl, 2
mov ch, 0
push 0xffffffffffffffda
add eax, dword [eax]
mov cl, al
and eax, dword [eax]
add byte [esp + 0xf], cl
mov dword [edi + edi*8], edx
test esi, esi
je 0x45d580
add dl, al
sub eax, ebx
je 0x44fba7
sub eax, 1
jne 0x44fb2f
mov dword [esp + 0x53], ebx
add bh, bh
jle 0x41fb9c
mov esi, dword [esp + 0x10]
add byte [eax], al
and al, 0x20
mov ecx, esi
push edi
xchg esi, eax
add byte [eax], dl
call fcn.0041fd25
mov eax, dword [eax]
add byte [esp + 0x30], dl
pop ecx
test edi, eax
add byte [eax + esi*4 - 0x74ffffff], al
inc esp
add byte [eax], al
mov ecx, edx
sub ecx, esi
shl dword [edi + 0x7c89f900], 1
and al, 0x34
sub edi, eax
add byte [eax], al
cwde
add dword [eax], eax
add byte [eax - 0x1a], dl
add byte [esp], ah
push edx
call fcn.0043ec22
add ah, al
or al, 0x85
ror byte [edi], 0xf2
add dl, bl
add eax, dword [eax]
mov eax, dword [esp + 0x1c]
add byte [eax], al
and al, 0x14
lea ecx, [eax + eax]
mov ebp, 0x32c2400
int1
test edi, edi
jg 0x41fb9c
add byte [ebp + 8], bh
mov eax, dword [edi + 4]
stc
add byte [ebx + 0x199e8ce], cl
add byte [eax], al
add byte [eax], al
or byte [ebx + 0x7e448900], cl
add byte [ebx + 0x308b0447], cl
mov ecx, esi
add byte [eax], al
add dword [eax], eax
add byte [ebx + 0x7400cb46], cl
and al, 0x14
mov edi, dword [eax + 4]
mov eax, dword [eax]
add al, ch
dec ebp
invalid
add byte [eax], al
mov esi, dword [esi + 0x24448900]
or al, 0x8b
inc ebx
add al, 0
add byte [ebx + ecx*4], al
into
call fcn.00451934
add byte [ebx + 0x44890846], cl
and al, 0
add byte [ebx + 4], al
mov esi, dword [eax + 8]
aad 0
call fcn.00450434
and dword [eax + eax], 0
cmp dword [ebx + 8], 4
xchg edx, eax
add byte [eax], cl
mov dword [esp + 0x18], eax
jae 0x47fb6f
mov ebx, dword [esp + 0x67]
add bh, bh
je 0x44fb9b
sbb byte [ebp + 0x244c], cl
jmp 0x44fb7a
and al, 0
add bl, ch
sti
invalid
add byte [eax], al
inc esp
and al, 0x30
add byte [ebx + 0x4489001b], cl
and al, 0x3c
push dword [ecx + 4]
cmp al, 0xff
jno 0x44fbaf
add byte [eax], al
and al, 0x20
call fcn.0081f194
lea eax, [esp + 0x1c]
push eax
push ebx
inc dword [eax]
add byte [eax], ah
lea ecx, [esp + 0x38]
popal
add byte [eax + eax], cl
add byte [ebx + 0x8b0c4d], cl
add byte [esp + 0x1c], al
push eax
call fcn.0043fc77
mov eax, dword [edi]
push 0
push esi
add byte [eax], al
add al, 3
iretd
cmp dword [esp + eax*4 - 0x7fbf9a7e], 0x7b
test al, 0x6b
jnp 0x45d552
test al, 0x6b
ljmp 0xa272:0xacd6a260
in eax, 0x1c
jb 0x45d571
in al, 0xc3
rcr edi, 0x4e
cmp byte [ecx - 0x27a7b7d1], bl
mov edi, 0xd7b19195
xlatb
jbe 0x45d542
lodsd eax, dword [esi]
pop es
cwde
cmp al, 0xbf
cmc
loop 0x45d513
add byte [eax + 0x65a66b9f], ch
int1
int1
retf
lodsb al, byte [esi]
ljmp 0x88c3
push ebx
lea edi, [esi + esi*2]
nop
jo 0x45d51a
xchg esp, eax
inc esp
ret 0x213
sbb al, 0x89
inc ecx
lcall 0x28, 0x41c7c100
and byte [eax], al
add byte [eax], al
int3