Function at 0x4029e0
Capabilities:
Encode data using xor

Disassembly:
mov ax, word [0x48a1ca]
lea ecx, [eax + 1]
mov word [0x48a1ca], cx
mov cx, word [0x4897d8]
xor eax, ecx
cwde
inc ecx
mov word [0x4897d8], cx
xor eax, 0x5c98879e
and dword [0x485a10], eax
mov eax, dword [0x4828c0]
shl eax, 5
mov ecx, dword [0x4867ec]
lea edx, [ecx - 1]
mov dword [0x4867ec], edx
imul ecx, ecx, 0x2c9eed2e
add ecx, eax
cmp ecx, 0x2b2498e6
jne 0x402a40
or dword [0x484248], 0x3a759e74
jmp 0x402a49
mov word [0x489930], 0xce5e
mov eax, dword [0x488410]
dec eax
mov dword [0x488410], eax
mov cx, word [0x489000]
movsx ecx, cx
xor ecx, eax
xor ecx, 0x73080bbc
cmp ecx, 0xc1338070
jl 0x402a89
mov ax, word [0x488c1c]
cwde
and eax, 0x5c462571
mov ecx, dword [0x483334]
imul ecx, eax
mov dword [0x483334], ecx
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov esi, dword [esp + 0x30]
mov eax, dword [0x4854f4]
lea ecx, [eax - 1]
mov dword [0x4854f4], ecx
mov ecx, 0x61366657
sub ecx, eax
or ecx, 0x16c24ee2
mov eax, dword [0x48218c]
lea edx, [eax + 1]
mov dword [0x48218c], edx
add eax, 0x35c87aab
cmp ecx, eax
jle 0x402ad7
mov ax, word [0x488d08]
and eax, 0x8b07
mov word [0x488d08], ax
mov ebx, dword [esp + 0x2c]
lea eax, [esi + 4]
mov dword [esp], eax
call fcn.0044f485
mov dword [0x4860f0], 0x3974cf0b
mov ecx, dword [0x482b60]
sar ecx, 3
add ecx, 0xd66fb42e
cmp ecx, 0x9fe56940
jl 0x402b1f
mov cx, word [0x48a532]
mov cx, word [0x48a006]
inc ecx
mov word [0x48a006], cx
jmp 0x402b48
mov edx, dword [0x486be8]
mov ecx, dword [0x4885a8]
dec ecx
mov dword [0x4885a8], ecx
cmp edx, ecx
jge 0x402b3e
mov ecx, dword [0x4881ac]
jmp 0x402b48
mov dword [0x487f8c], 0x98a625b6
mov dword [esp + 0xc], eax
jmp 0x402baf
add dword [0x485884], 0x7f7fbf4e
mov byte [eax], 0
mov cx, word [0x489bfe]
and ecx, 0xc958
mov word [0x489bfe], cx
and dword [0x484178], 0xa5ebb91c
mov ebx, dword [eax - 3]
add eax, 0xfffffffd
xor dword [0x484070], 0xfe3f7fdc
xor dword [0x487870], 0x921f195e
mov ecx, dword [0x482db0]
mov cx, word [0x48ab1c]
xor ecx, 0xbc8
mov word [0x48ab1c], cx
mov ebp, eax
mov ax, word [0x48b1ac]
cwde
shl eax, 4
xor dword [0x487d64], eax
mov al, byte [ebx + section..data]
mov byte [ebp], al
dec dword [0x4826ac]
mov eax, dword [0x487b6c]
dec eax
mov dword [0x487b6c], eax
mov ecx, dword [0x4818e4]
imul ecx, eax
mov dword [0x4818e4], ecx
mov eax, dword [0x48c5a8]
mov al, byte [eax + ebx]
xor byte [ebp], al
xor dword [0x481294], 0x7562a4a8
mov eax, dword [0x4822f0]
mov ecx, dword [0x483f44]
sub eax, ecx
cmp eax, 0xa90e9d87
jg 0x402c1d
add dword [0x487a80], 0x92026332
mov dword [0x481ad0], 0xc69b0b5
mov al, byte [ebx + 0x477001]
mov byte [ebp + 1], al
mov eax, dword [0x48561c]
lea ecx, [eax + 1]
mov dword [0x48561c], ecx
add eax, 0xb1f56d94
mov ecx, dword [0x486f6c]
imul ecx, eax
mov dword [0x486f6c], ecx
mov eax, dword [0x48c5a8]
mov al, byte [eax + ebx + 1]
xor byte [ebp + 1], al
mov eax, dword [0x4829b8]
or eax, 0xcc085381
and dword [0x482818], eax
mov eax, dword [0x487a90]
add eax, 0xea6c9930
cmp eax, 0xd6a3a699
jg 0x402c90
mov dword [0x4874bc], 0x20e9062
jmp 0x402c9a
or dword [0x487d34], 0x9c60c52b
add ebx, 2
mov eax, dword [0x48681c]
mov dword [0x487220], eax
movzx edx, word [ebp]
mov ax, word [0x48b2d2]
cwde
mov ecx, dword [0x4822c0]
imul ecx, eax
shl ecx, 9
cmp ecx, 0xe08eaae1
jg 0x402ce0
mov dword [esp + 0x10], esi
add dword [0x486a28], 0x1a3990b0
jmp 0x402cee
mov dword [esp + 0x10], esi
add dword [0x485094], 0x45d24eea
lea eax, [ebx + section..data]
mov esi, edx
mov dword [esp + 0x14], esi
lea edi, [esi + 3]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.0044e6e0
mov ax, word [0x48a1b2]
or eax, 0x5aae
mov word [0x48a1b2], ax
mov ax, word [0x488d56]
or eax, 0x9cfb
mov word [0x488d56], ax
lea eax, [ebp + esi + 3]
mov ecx, dword [0x485040]
or ecx, 0x6fbffcfa
mov dword [0x483ac8], ecx
add ebx, dword [0x48c5a8]
mov ecx, dword [0x483560]
mov edx, dword [0x4872f4]
shr edx, 0xa
add edx, 0x4226
mov si, word [0x48970e]
or esi, ecx
or esi, edx
mov word [0x48970e], si
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov cx, word [0x48a5d0]
add ecx, 0x568a
mov word [0x48a5d0], cx
mov cl, byte [ebx]
xor byte [ebp], cl
mov cx, word [0x48c506]
movsx ecx, cx
add ecx, 0x1ed721fa
or dword [0x4847cc], ecx
inc ebp
inc ebx
dec edi
jne 0x402d80
mov ecx, dword [0x4816d4]
inc ecx
mov dword [0x4816d4], ecx
xor ecx, 0x5a9626e1
cmp ecx, 0xfdafdebd
mov esi, dword [esp + 0x10]
jg 0x402ddd
mov dword [0x487170], 0x12185a01
sub esi, dword [esp + 0x14]
jne 0x402b50
mov ax, word [0x48aca0]
add eax, 0x1211
mov word [0x48aca0], ax
mov eax, dword [esp + 0xc]
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret