Function at 0x42b490
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 0x34
mov al, byte [esp + 0x48]
mov edx, dword [esp + 0x44]
mov byte [esp + 0x2f], al
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov edx, dword [0x499d7c]
cmp edx, 0x56317aa4
mov dword [esp + 0x14], ecx
jg 0x42b50c
mov eax, dword [0x49a298]
inc eax
mov dword [0x49a298], eax
cmp eax, 0x213efa72
jl 0x42b507
mov eax, dword [0x4979dc]
mov ecx, eax
inc ecx
mov dword [0x4979dc], ecx
add eax, 0xf8a814b8
mov ecx, dword [0x496080]
sub ecx, 0x88de4071
cmp eax, ecx
jne 0x42b502
jmp 0x42b502
jmp 0x42b507
jmp 0x42b524
mov ax, word [0x49df06]
mov cx, ax
xor ecx, 0xc12e
mov ax, cx
mov word [0x49df06], ax
mov eax, dword [0x498a08]
shl eax, 2
xor eax, 0xc910
mov cx, word [0x49b63e]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x49b63e], cx
mov eax, dword [0x495054]
or eax, 0xcb48c095
mov dword [0x495054], eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
mov dword [edx + 0x2020], eax
mov eax, dword [0x495448]
mov cx, word [0x49bd80]
mov si, cx
add esi, eax
mov cx, si
mov word [0x49bd80], cx
mov ax, word [0x49ba0c]
mov cx, ax
add ecx, 0x3fda87bf
mov ax, cx
mov word [0x49ba0c], ax
call fcn.00435c10
mov dword [esp + 0x1c], eax
mov dx, word [0x49b5d0]
mov ax, dx
add eax, 0xc3f97919
mov dx, ax
mov word [0x49b5d0], dx
cmp dword [esp + 0x1c], 0
setne al
xor al, 0xff
test al, 1
jne 0x42b57f
mov eax, 0xd05494d2
mov ecx, dword [0x49720c]
and ecx, 0x194cb021
mov dword [0x49720c], ecx
mov dword [esp + 0x10], eax
call fcn.00435c10
mov dword [esp + 0x20], eax
mov eax, dword [0x4984c8]
mov ecx, eax
inc ecx
mov dword [0x4984c8], ecx
mov ecx, dword [esp + 0x10]
cmp ecx, eax
jg 0x42b613
mov dword [0x495c3c], 0x5080484
mov al, byte [esp + 0x2f]
mov byte [esp + 0x20], al
mov cx, word [0x49d12a]
mov dx, cx
or edx, 0x3fdb
mov cx, dx
mov word [0x49d12a], cx
mov edx, dword [esp + 0x1c]
mov esi, esp
mov dword [esi], edx
call fcn.00419eb0
mov edx, dword [esp + 0x20]
xor edx, eax
mov dword [esp + 0x20], edx
mov eax, dword [0x496c88]
add eax, 0x612c6f82
mov dword [0x496c88], eax
mov eax, dword [0x4948c8]
mov edx, dword [esp + 0x14]
mov esi, dword [edx + 0x2020]
mov edi, esp
lea ebx, [esp + 0x1c]
mov dword [edi + 4], ebx
mov dword [edi], esi
mov dword [edi + 0xc], 0
mov dword [edi + 8], 8
call eax
sub esp, 0x10
mov dword [esp + 0x18], eax
mov cx, word [0x49d4a2]
mov ax, cx
mov edx, 0x36dfbeea
sub edx, eax
or edx, 0x4e55
mov cx, word [0x49d340]
mov ax, cx
and eax, edx
mov cx, ax
mov word [0x49d340], cx
cmp dword [esp + 0x18], 8
je 0x42b702
mov eax, dword [0x49af20]
and eax, 0x99525d87
mov dword [0x49af20], eax
mov ecx, dword [esp + 0x14]
call fcn.0041a4d0
mov dx, word [0x49ddc6]
mov ax, dx
or eax, 0x8474
mov dx, ax
mov word [0x49ddc6], dx
mov dword [esp + 0x30], 0xffffffff
jmp 0x42b8b8
mov eax, dword [0x49515c]
imul eax, eax, 0xef9a1aac
mov dword [0x49515c], eax
mov cl, byte [esp + 0x2f]
movzx eax, cl
mov edx, esp
mov dword [edx], eax
mov ecx, dword [esp + 0x14]
call fcn.0044f200
sub esp, 4
test al, 1
jne 0x42b777
mov ax, word [0x49c736]
mov cx, ax
or ecx, 0x594d
mov ax, cx
mov word [0x49c736], ax
mov ecx, dword [esp + 0x14]
call fcn.0041a4d0
mov ax, word [0x49b27a]
mov cx, ax
add ecx, 0x2380a800
mov ax, cx
mov word [0x49b27a], ax
mov dword [esp + 0x30], 0xfffffffe
jmp 0x42b8b8
mov dword [0x4991e0], 0xb5bb86f2
mov eax, dword [esp + 0x14]
mov dword [eax], 0
mov cx, word [0x49d958]
movsx edx, cx
add edx, 0x601e3170
mov esi, dword [0x498a24]
sar esi, 9
and edx, esi
cmp edx, 0xa069292d
je 0x42b7c1
mov eax, dword [0x49a734]
add eax, 0xe6ed13af
mov dword [0x49a734], eax
mov eax, 0x96a8c9f4
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [0x497038]
mov esi, dword [0x499d20]
xor esi, 0xffffffff
add ecx, esi
add ecx, 0xcf8f02e6
cmp eax, ecx
jle 0x42b832
mov eax, 0xc961f24b
mov cx, word [0x49bbc6]
movsx edx, cx
sar edx, 8
imul edx, edx, 0x1e2894ab
cmp eax, edx
jg 0x42b82d
mov eax, 0xc50a0b18
mov ecx, dword [0x498cd0]
cmp eax, ecx
jge 0x42b828
jmp 0x42b828
jmp 0x42b82d
jmp 0x42b832
mov eax, dword [esp + 0x14]
mov dword [eax + 0x100c], 0
mov ecx, dword [0x496994]
mov dx, word [0x49b8ba]
mov si, dx
inc esi
mov dx, si
mov word [0x49b8ba], dx
movsx esi, dx
imul esi, esi, 0x8ca2a79f
and esi, 0xb9e388f5
cmp ecx, esi
jle 0x42b882
mov eax, dword [0x49702c]
imul eax, eax, 0xaf1ba256
mov dword [0x49702c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x201c]
mov edx, dword [esp + 0x1c]
mov esi, esp
mov dword [esi], edx
call ecx
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1010], eax
mov eax, dword [0x4989d0]
imul eax, eax, 0x65110c41
mov dword [0x4989d0], eax
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x30]
add esp, 0x34
pop esi
pop edi
pop ebx
ret 8