Function at 0x41f760
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
movsx eax, word [0x457b7e]
sub esp, 0x258
xor eax, 0x6034eea2
cmp eax, 0x14dd235
je 0x41f7b4
movsx ecx, word [0x44d828]
mov eax, dword [0x44a0b4]
and ecx, 0x72fad9
dec dword [0x44a0b4]
shl ecx, 6
and eax, ecx
cmp eax, 0xa50fb3e2
jle 0x41f7be
movzx eax, word [0x44da34]
xor eax, 0xb5231dbe
mov word [0x44da34], ax
jmp 0x41f7be
xor dword [0x43f514], 0xaf951bef
cmp dword [0x45a2f8], 0
jne 0x41fb8f
imul eax, dword [0x4358d0], 0x591b47b8
cmp eax, 0xb46cf15c
jne 0x41f7e8
or dword [0x447760], 0x2fba4e7d
jmp 0x41f80a
mov eax, dword [0x44ae7c]
mov ecx, dword [0x439720]
imul eax, eax, 0x7082dc04
shl ecx, 5
sub ecx, eax
add dword [0x44d13c], ecx
inc dword [0x44ae7c]
imul eax, dword [0x443718], 0x129462cd
mov dword [0x443718], eax
or dword [0x440914], 0x60148bd
imul eax, dword [0x4489ec], 0xda6a8eb1
mov dword [0x4489ec], eax
mov eax, dword [0x447f78]
not eax
xor eax, 0x2c32e902
or dword [0x4369bc], eax
lea eax, [ebp - 0x118]
push eax
push 0x104
call fcn.00414c30
mov ecx, dword [0x43c78c]
add esp, 8
mov eax, dword [0x4452dc]
dec dword [0x4452dc]
sar ecx, 9
and ecx, 0x5ce99152
xor eax, ecx
cmp eax, 0x56475f38
jle 0x41f88d
movzx eax, word [0x4513fa]
sub eax, 0x48085cdd
mov word [0x4513fa], ax
push esi
lea eax, [ebp - 0x118]
push edi
push eax
call fcn.00427070
mov ecx, dword [0x445f74]
add esp, 4
xor ecx, 0xeefdbf7d
mov esi, eax
or ecx, 0x6a799d3d
and dword [0x44b020], ecx
push 0x3e8
call dword [0x45a4fc]
and dword [0x43aaac], 0xdd52b858
lea edi, [ebp - 0x118]
add edi, esi
lea eax, [ebp - 0x118]
mov byte [edi], 0
xor dword [0x43c10c], 0xc98cb975
push dword [0x45a314]
push eax
call fcn.00425700
movzx eax, word [0x455460]
xor eax, 0x7020f8d2
push 2
mov word [0x455460], ax
push 0xfe1
call fcn.004270f0
dec dword [0x43bbfc]
add esp, 0x10
mov ecx, dword [0x43bbfc]
mov esi, eax
movsx edx, word [0x453d98]
shl edx, 3
sub edx, ecx
mov ecx, dword [0x4453ac]
inc dword [0x4453ac]
xor ecx, edx
cmp ecx, 0x1f1c198e
jge 0x41f97d
mov ecx, dword [0x436538]
mov eax, dword [0x439178]
shl ecx, 6
imul eax, ecx
or eax, 0xe1fd0b71
cmp eax, 0xf2e97a30
jge 0x41f97d
mov ecx, dword [0x4436cc]
movzx eax, word [0x4563fe]
or ecx, 0x4832dc3c
add eax, ecx
mov word [0x4563fe], ax
lea eax, [ebp - 0x118]
push esi
push eax
call fcn.00425700
add esp, 8
cmp dword [0x448544], 0xefff9aef
jne 0x41f9a3
xor dword [0x4383ec], 0x8f43e582
push esi
push 2
call fcn.004077b0
mov eax, dword [0x43af9c]
add esp, 8
add eax, 0x10d8bb44
and eax, 0x204b8b32
cmp eax, 0x83bdef66
jne 0x41f9e8
mov ecx, dword [0x4369e4]
mov eax, 0xff9b4249
shl ecx, 8
sub eax, ecx
cmp dword [0x44096c], eax
jne 0x41f9f2
and dword [0x4441c0], 0x69f1bfae
jmp 0x41f9f2
mov dword [0x43fc78], 0x2ed683f4
lea eax, [ebp - 0x258]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [0x45a45c]
inc dword [0x437200]
mov esi, eax
mov ecx, dword [0x437200]
mov edx, dword [0x445380]
add edx, 0x7f78b691
and edx, ecx
xor dword [0x448f94], edx
inc dword [0x445380]
cmp esi, 0xffffffff
je 0x41fb14
mov eax, dword [0x442f88]
and eax, 0xb01f12df
xor dword [0x442ec4], eax
jmp 0x41fa50
mov ecx, dword [0x4498c0]
movzx eax, word [0x455a4c]
shl ecx, 8
xor ecx, 0xb5a7f980
mov byte [edi], 0
sub eax, ecx
mov word [0x455a4c], ax
movzx eax, word [0x452686]
xor eax, 0x854d378e
mov word [0x452686], ax
lea eax, [ebp - 0x22c]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.00425700
add esp, 8
mov dword [0x435350], 0xbd18dbe8
lea eax, [ebp - 0x118]
push eax
call dword [0x45a44c]
movsx eax, word [0x4555e8]
mov ecx, 0x5ba8b17f
sub ecx, eax
lea eax, [ebp - 0x258]
push eax
push esi
mov dword [0x44cde8], ecx
call dword [0x45a458]
test eax, eax
jne 0x41fa50
imul eax, dword [0x447a18], 0x51e0c1eb
push esi
or eax, 0x3d53cd16
sub dword [0x443bc0], eax
inc dword [0x447a18]
call dword [0x45a454]
mov ax, word [0x453384]
movzx ecx, word [0x458b70]
cwde
imul ecx, eax
mov word [0x453384], cx
inc dword [0x441fd4]
mov ecx, dword [0x441fd4]
mov eax, dword [0x444c78]
shl eax, 0xa
add ecx, eax
imul eax, dword [0x43a9cc], 0x9d7c05b9
pop edi
pop esi
cmp ecx, eax
jge 0x41fb69
mov eax, dword [0x44904c]
sub eax, 0x387b4454
cmp eax, 0x98ea765a
jle 0x41fb69
mov ecx, dword [0x4357c0]
movzx eax, word [0x4565ae]
not ecx
xor ecx, 0x1f03244d
imul eax, ecx
mov word [0x4565ae], ax
push 0x118
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.0041f5c0
mov eax, dword [0x44c4e8]
add esp, 0xc
sub eax, dword [0x439278]
mov dword [0x44c4e8], eax
mov esp, ebp
pop ebp
ret