Function at 0x408ecb
Capabilities:
Encode data using xor

Disassembly:
imul eax, dword [0x462dd4], 0x47f10959
sub esp, 0x258
mov dword [0x462dd4], eax
cmp dword [0x45847c], 0
jne 0x40907c
mov ecx, dword [0x462f48]
mov eax, dword [0x46283c]
add ecx, 0x1f79fefa
and eax, 0x7a916805
cmp ecx, eax
jle 0x408d9e
movzx eax, word [0x45cd26]
or eax, 0xf2343f66
mov word [0x45cd26], ax
mov eax, dword [0x4636ac]
inc dword [0x4636ac]
sub eax, 0x4712f4c
and eax, 0x4eb44a29
cmp eax, 0xc5e002da
je 0x408dd8
dec word [0x45ec54]
movzx eax, word [0x45ec54]
movzx ecx, word [0x45ab0a]
add ecx, eax
mov word [0x45ab0a], cx
mov eax, dword [0x45ffcc]
sar eax, 2
sub eax, 0x26674eb6
xor eax, 0xe32e0b88
cmp eax, 0x193bb196
jne 0x408dfe
mov ax, word [0x45c3e0]
cwde
or dword [0x45f1cc], eax
movzx eax, word [0x45915c]
add eax, 0x61800401
mov word [0x45915c], ax
mov eax, dword [0x4673a4]
inc dword [0x4673a4]
and eax, 0x5efb5190
cmp eax, 0xeebad8f3
jg 0x408e33
mov dword [0x463dec], 0xb355da85
jmp 0x408e4d
dec word [0x45cbba]
mov ax, word [0x45cbba]
cwde
imul eax, dword [0x46b6fc]
mov dword [0x46b6fc], eax
push esi
push edi
lea eax, [esp + 8]
push eax
push 0x104
call fcn.00422890
mov eax, dword [0x466b38]
lea esi, [esp + 0x10]
shl eax, 9
lea ecx, [esi + 1]
add esp, 8
or dword [0x468790], eax
mov al, byte [esi]
inc esi
test al, al
jne 0x408e76
or dword [0x461eb8], 0xb05f83a0
sub esi, ecx
push 0x3e8
call dword [0x458614]
add dword [0x464ac8], 0x89babd39
lea edi, [esp + 8]
add edi, esi
lea eax, [esp + 8]
mov byte [edi], 0
xor dword [0x464f64], 0xed97c205
push dword [0x458498]
push eax
call fcn.0042af90
add dword [0x469424], 0x401ee0de
push 2
push 0x223c
call fcn.00423d70
mov edx, dword [0x465540]
mov esi, eax
mov ecx, dword [0x464fbc]
lea eax, [esp + 0x18]
and edx, 0x614bffad
xor ecx, edx
or dword [0x466060], ecx
push esi
push eax
call fcn.0042af90
and dword [0x465578], 0x16b29c06
push esi
push 2
call fcn.00407690
movzx eax, word [0x458e28]
add esp, 0x20
or eax, 0x59f10fa7
mov word [0x458e28], ax
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0xc]
push eax
call dword [0x45856c]
add dword [0x46b4dc], 0x6592c059
mov esi, eax
cmp esi, 0xffffffff
je 0x408fe5
add dword [0x4624c8], 0x26e287a8
jmp 0x408f60
add dword [0x46a6cc], 0x5f3982c4
lea eax, [esp + 0x14c]
push eax
lea eax, [esp + 0xc]
mov byte [edi], 0
and dword [0x4609d4], 0xf2daffa2
push eax
call fcn.0042af90
mov eax, dword [0x4653d0]
add esp, 8
xor eax, 0x65b87863
or dword [0x461e4c], eax
lea eax, [esp + 8]
push eax
call dword [0x45855c]
mov eax, dword [0x463330]
xor eax, 0x11e4b940
mov word [0x45dd22], ax
lea eax, [esp + 0x120]
push eax
push esi
call dword [0x458568]
test eax, eax
jne 0x408f60
mov dword [0x46328c], 0x574aae48
push esi
call dword [0x458564]
and dword [0x469364], 0xf3854827
inc dword [0x4602c8]
mov eax, dword [0x4602c8]
pop edi
pop esi
cmp eax, 0x710b691f
jge 0x409003
mov dword [0x460b74], 0xab4585c8
push 0x118
lea eax, [esp + 4]
push 0
push eax
call fcn.0042cb60
inc dword [0x469584]
add esp, 0xc
mov edx, dword [0x469584]
mov eax, dword [0x468620]
movsx ecx, word [0x45b51a]
and eax, 0xa73a3c22
or ecx, eax
imul eax, edx, 0xe47e8e0e
cmp eax, ecx
je 0x40907c
movsx eax, word [0x45d574]
inc word [0x45d574]
cmp eax, 0xe094738
jne 0x409066
mov eax, dword [0x45f0f0]
mov dword [0x465490], eax
add esp, 0x258
ret
mov ecx, dword [0x4628f4]
mov eax, 0x8192c0e1
sar ecx, 4
sub eax, ecx
xor dword [0x460cf4], eax
add esp, 0x258
ret