Function at 0x41930a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdfe
sub ebx, 0xffffffa1
setge byte [0x40e77b]
add bh, byte [0x40d748]
cmp dword [0x40e633], 0x6b
jb 0x419371
mov ecx, eax
sbb dword [0x40e63a], edx
mov byte [0x40e7d6], 0x47
or dh, al
dec word [0x40e777]
mov dl, 0xf7
bsf edx, eax
imul edx
mov ecx, dword [0x40d7a5]
shld word [0x40e7f5], dx, 6
xor ax, ax
and dword [0x40e735], eax
call fcn.0041bd00
inc edi
btr dword [0x40e720], 7
xor al, 0x92
seto byte [0x40e85c]
dec edx
and edx, dword [0x40d642]
je 0x41939d
add ecx, 0xffffffc4
mov dword [0x40e641], eax
imul eax, edx
mov dword [0x40e77d], 0xb3f980a
imul cx, dx, 0xcdfe
rol dword [0x40e739], 1
mov esi, dword [0x40d6fa]
mov ecx, 5
movzx edi, byte [0x40d77f]
setne byte [ecx + 0x40e6d0]
imul edx, eax
inc dword [0x40e7b9]
mov ebx, 0x72b42604
setbe byte [0x40e82f]
movzx edx, word [0x40d5b9]
not edx
imul ebx, edx, 0x17bdd06b
xor word [ecx*2 + 0x40e62e], 0xffcb
adc edx, 0x38
adc dword [0x40e808], 0xffffffe7
movsx ebx, dx
sub dword [ecx*4 + 0x40e77e], 9
push 0x2e53fc80
sar esi, 1
push 0x7f06b151
push 0x7b68e161
push 0x3d18ed62
push edx
movsx edi, dx
push dword [0x40e806]
movzx eax, al
add si, 0x41
push edx
push dword [0x40e6cd]
push dword [ecx + 0x40e6e6]
sbb eax, edx
shld dword [ecx + 0x40e7a1], eax, 0xf
call fcn.00408647
mov byte [ecx + 0x40e66a], 0x66
shld dword [0x40e746], eax, 0x15
inc eax
mov dword [0x40e713], edx
dec ecx
jne 0x4193af
sar eax, 1
xor si, word [0x40d76d]
btr di, ax
movzx edi, word [0x40d6a1]
xor dword [0x40e7f9], 0x2c5d41b5
mov cl, 0x71
mov dword [0x40e817], 0x6d38f866
shld dword [0x40e670], eax, 0xb
mov eax, edx
dec byte [0x40e801]
and ecx, 0x3f5bf3d7
dec edx
sub dword [0x40e7d6], 0xffffffc5
xor esi, dword [0x40d796]
push dword [0x40e71e]
pop dword [0x40e76c]
cmp dword [0x40e64b], eax
jo 0x419528
mov ecx, 0x5c1a05c
push edx
mov ebx, 0x40e80d
bsr eax, edx
mov dword [ebx], 0x72b62283
movsx edx, dx
push dword [0x40e710]
mov edx, eax
push eax
push 0x34b01a68
inc dword [ebx]
push 0x45871e36
and dword [ebx], eax
push dword [0x40e6f4]
and cl, al
push eax
push eax
dec esi
imul edi, dword [ebx], 0x7b136a73
push eax
push edx
movzx edx, al
push dword [0x40e6a4]
not dword [0x40e6be]
call fcn.0041ba78
or dword [0x40e636], 0x7b4f4341
call fcn.0041ac98
pop edx
btc dword [0x40e735], 4
mov edi, edx
or ecx, edx
mov dword [0x40e806], 0x5d5437c
add byte [0x40e813], 0x6c
or ebx, 0xffffffdc
movzx edx, dl
xor dword [0x40e6f1], 0xffffffd5
jne 0x4195e3
neg bh
call fcn.00408f33
add ebx, 0x7ac0439e
add bx, 0xa
or edx, eax
mov edi, 0x16264d09
rcr byte [0x40e816], 1
adc edx, edx
and dword [0x40e707], 0x3d2b4dd6
cmp dword [0x40e793], 0x62
je 0x4195e3
cmp cl, byte [0x40d5d9]
jge 0x4195e3
adc bh, 0x7a
dec edx
imul edx, eax
cmp dword [0x40e62e], 0xffffffc2
jl 0x4195e3
push dword [0x40e7ee]
pop dword [0x40e783]
shrd edi, edx, 0x10
shrd esi, edx, 0x15
shld ecx, eax, 8
shrd ecx, eax, 0x10
movzx edx, word [0x40d763]
or dh, 0x34
shr dword [0x40e6e4], 0x13
or ecx, 0xffffffd4
add cl, al
xor bx, ax
add eax, 0xffffffdc
setns ah
and ch, dl
shr ecx, 7
movzx ebx, dx
dec dword [0x40e6c1]
inc edx
sbb dword [0x40e73f], 0x5a
and dword [0x40e78d], eax
je 0x4196cc
and dword [0x40e680], edx
call fcn.0041caca
movzx ecx, ax
mov ecx, eax
mov dl, 0x9f
xor dword [0x40e7c1], 0x20
imul ebx, dword [0x40d75e], 0x55d3072d
sub di, ax
movsx eax, word [0x40d605]
btr edi, 0x1b
push edx
pop dword [0x40e76e]
movsx eax, dx
xor dword [0x40e79e], edx
je 0x4196cc
movsx edx, word [0x40d67e]
add dword [0x40e729], eax
movsx ebx, dx
movzx eax, word [0x40d613]
add dword [0x40e655], 0xb5b9d4f
or ebx, eax
shl esi, 0x1f
adc dword [0x40e649], 0x3b45adcd
inc edi
push eax
pop dword [0x40e708]
dec dx
push 0x2985dfc7
push dword [0x40e7f3]
dec edx
push eax
pop dword [0x40e79c]
push 0x61dd860c
setb byte [0x40e7fa]
push dword [0x40e840]
dec edi
push dword [0x40e66a]
call fcn.0041b4bb
add esp, 0x14
ror esi, 1
xor edi, 0xffffff8d
push dword [0x40e81a]
pop dword [0x40e763]
shr byte [0x40e654], 1
add dword [0x40e7b3], 0xffffffb6
shr ebx, 1
sub dword [0x40e75b], eax
sbb dl, byte [0x40d6cd]
and word [0x40e6b0], ax
mov edx, 0x40e72d
rol cx, 9
push 0xbef2aa6
pop dword [0x40e644]
bts ecx, eax
sub dword [edx], 0x58fbacaa
bt eax, edx
xor ecx, edx
shl eax, 0x1f
add ebx, eax
call fcn.0041aae9
dec esi
sbb bx, dx
movsx ebx, ax
call fcn.00416bd6
movzx eax, word [0x40d725]
inc dword [0x40e66e]
or dword [0x40e80f], 0x58d90dc9
sub dword [0x40e831], 0x57530987
rol dh, 4
adc dword [0x40e684], eax
imul esi, dword [0x40d5a1]
sub dword [0x40e6e9], eax
shld dword [0x40e7b9], edx, 0x11
mov esp, ebp
pop ebp
ret