Function at 0x4024b0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x4829c4]
mov word [0x491d7c], ax
mov eax, dword [0x498ec0]
test eax, eax
jne 0x402811
mov eax, dword [0x47d474]
inc eax
mov dword [0x47d474], eax
cmp eax, 0x337628ca
jg 0x4024e6
or dword [0x47ce40], 0x4040
jmp 0x4024f6
mov eax, dword [0x4864ec]
imul eax, eax, 0x9938482
mov dword [0x4864ec], eax
or dword [0x47fc94], 0xef72d77e
add dword [0x47aa0c], 0x3de1759d
mov eax, dword [0x488f64]
xor eax, 0x6d066530
cmp eax, 0x54478a2c
jg 0x402534
mov eax, dword [0x485cb8]
shl eax, 0xa
add eax, 0x7f4bd31d
cmp eax, 0xe7ff1ea6
jg 0x402534
mov eax, dword [0x4850c8]
push ebp
push ebx
push edi
push esi
sub esp, 0x29c
mov eax, dword [0x483e58]
mov ecx, dword [0x48b284]
imul ecx, eax
mov dword [0x48b284], ecx
add dword [0x485004], 0xc409eb3
lea ebp, [esp + 8]
mov dword [esp], ebp
mov dword [esp + 4], 0x4987a8
call fcn.00445d80
mov eax, dword [0x482f2c]
xor eax, 0xa16f3250
and dword [0x488b68], eax
mov ax, word [0x492042]
cwde
mov ecx, 0x6ace4690
sub ecx, eax
mov dword [0x485538], ecx
mov dword [esp], ebp
call fcn.00442c90
mov esi, eax
xor dword [0x47d008], 0xde077607
mov dword [esp], 0x424
call dword [0x476920]
sub esp, 4
mov eax, dword [0x48546c]
imul eax, eax, 0xfe5a6715
mov dword [0x48546c], eax
mov byte [esp + esi + 8], 0
mov ax, word [0x49690e]
add eax, 0x11b0
mov word [0x49690e], ax
mov eax, dword [0x498ee0]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00445d90
mov eax, dword [0x476f5c]
lea eax, [eax*4 + 0x3a286307]
cmp eax, 0x2815c045
jl 0x402613
mov ax, word [0x494f74]
or eax, 0x64ce
mov word [0x494f74], ax
mov dword [esp + 4], 2
mov dword [esp], 0x6f8a
call fcn.0041f990
mov edi, eax
mov eax, dword [0x47ead0]
xor eax, 0xee4401ff
mov dword [0x489c48], eax
mov dword [esp + 4], edi
mov dword [esp], ebp
call fcn.00445d90
mov eax, dword [0x484718]
cmp eax, 0x52470280
je 0x402671
mov eax, dword [0x481718]
lea ecx, [eax - 1]
mov dword [0x481718], ecx
xor eax, 0x728ea287
mov ecx, dword [0x4851dc]
sub ecx, eax
mov dword [0x4851dc], ecx
mov dword [esp + 4], edi
mov dword [esp], 2
call fcn.00403860
add dword [0x479300], 0xba9301
lea ebx, [esp + 0x15c]
mov dword [esp + 4], ebx
mov dword [esp], ebp
call dword [0x476880]
sub esp, 8
mov edi, eax
mov ax, word [0x48d448]
lea ecx, [eax - 1]
mov word [0x48d448], cx
cwde
mov ecx, dword [0x480848]
xor ecx, eax
xor ecx, 0xf1001e04
mov dword [0x480848], ecx
cmp edi, 0xffffffff
je 0x4027ae
mov ax, word [0x491886]
and eax, 0x308
mov word [0x491886], ax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [0x4899fc]
sar eax, 6
mov ecx, dword [0x48a59c]
imul ecx, eax
mov eax, dword [0x489440]
sub ecx, eax
and dword [0x48968c], ecx
mov byte [esp + esi + 8], 0
mov eax, dword [0x48a884]
and eax, 0x14472014
mov ecx, dword [0x482a20]
or ecx, eax
or ecx, 0x4138dee9
mov dword [0x482a20], ecx
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00445d90
mov ax, word [0x497126]
xor eax, 0x9489
mov word [0x497126], ax
mov dword [esp], ebp
call dword [0x476870]
sub esp, 4
add dword [0x48a0c8], 0xd445d52a
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [0x47687c]
sub esp, 8
test eax, eax
jne 0x4026f0
mov ax, word [0x493a46]
add eax, 0xfffffff7
mov word [0x493a46], ax
mov dword [esp], edi
call dword [0x476878]
sub esp, 4
mov eax, dword [0x489e6c]
imul eax, eax, 0x401a0e4b
mov dword [0x489e6c], eax
mov eax, dword [0x48b53c]
imul eax, eax, 0x45a16f8e
mov dword [0x48b53c], eax
mov eax, dword [0x485ea8]
xor eax, 0x135d
mov cx, word [0x4908c6]
and ecx, eax
mov word [0x4908c6], cx
or dword [0x47e17c], 0x46430
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esp + eax + 8], 0
inc eax
cmp eax, 0x154
jne 0x4027f0
mov dword [0x47dc74], 0x55428a00
add esp, 0x29c
pop esi
pop edi
pop ebx
pop ebp
ret