Function at 0x447bf0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [0x48c4d0]
imul eax, eax, 0x5813198a
mov ecx, dword [0x48a0a4]
or ecx, eax
mov dword [0x48a0a4], ecx
mov eax, dword [0x496aa8]
dec eax
mov dword [0x496aa8], eax
xor eax, 0x46f196e
mov ecx, dword [0x498980]
sub ecx, eax
mov dword [0x498980], ecx
mov eax, dword [0x493a3c]
inc eax
mov dword [0x493a3c], eax
or eax, 0xaf542281
mov ecx, dword [0x490f24]
imul ecx, eax
mov dword [0x490f24], ecx
mov eax, dword [esp + 0xc]
mov ecx, esp
mov dword [ecx], eax
call fcn.004523c0
mov dword [esp + 4], eax
mov eax, dword [0x498674]
dec eax
mov dword [0x498674], eax
mov ecx, dword [0x492f64]
imul eax, ecx
imul eax, eax, 0x8fdc57c7
mov dword [0x492f64], eax
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x48eb4c]
imul eax, eax, 0xde733826
mov dx, word [0x481004]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x481004], dx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x447e36
mov ax, word [0x483a36]
mov cx, ax
or ecx, 0xb200
mov ax, cx
mov word [0x483a36], ax
mov ecx, dword [esp + 0xc]
mov byte [ecx], 0x22
mov ecx, dword [0x48bc04]
mov edx, ecx
inc edx
mov dword [0x48bc04], edx
and ecx, 0x5ff2bd3b
mov edx, dword [0x49c514]
xor ecx, edx
mov dword [0x48bffc], ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov byte [edx + ecx], 0
mov ax, word [0x485a86]
mov cx, ax
and ecx, 0x80af
mov ax, cx
mov word [0x485a86], ax
mov eax, dword [0x48dc0c]
sub eax, 0x1d1a411a
cmp eax, 0xa1d0f09d
je 0x447d69
mov eax, dword [0x48c7ac]
mov ecx, eax
inc ecx
mov dword [0x48c7ac], ecx
mov ecx, dword [0x4953bc]
lea eax, [eax + ecx*4 + 1]
mov dx, word [0x480f64]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x480f64], dx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x492fbc]
shl eax, 4
cmp eax, 0xe2b15ee5
jg 0x447db9
mov eax, 0x7f041d26
mov cx, word [0x480494]
movsx edx, cx
cmp eax, edx
jge 0x447db4
mov ax, word [0x487142]
mov cx, ax
or ecx, 0x6adf
mov ax, cx
mov word [0x487142], ax
jmp 0x447db9
jmp 0x447dbe
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x447d26
mov eax, dword [0x496ce0]
mov cx, word [0x4887a0]
movsx edx, cx
and edx, 0x935b45ec
or eax, edx
mov edx, dword [0x4995d8]
cmp eax, edx
je 0x447e07
mov eax, dword [0x491564]
or eax, 0xe4211320
mov dword [0x491564], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov dx, word [0x48325c]
mov ax, dx
imul eax, eax, 0xc48216f1
mov dx, ax
mov word [0x48325c], dx
jmp 0x447f5f
mov eax, dword [0x48a0e8]
mov ecx, eax
inc ecx
mov dword [0x48a0e8], ecx
xor eax, 0xd81f1938
cmp eax, 0xc184901
jge 0x447e63
mov eax, dword [0x495e28]
add eax, 0xfbfb6dcf
mov dword [0x495e28], eax
mov eax, dword [esp + 0xc]
mov byte [eax], 0x20
mov eax, dword [0x48e540]
add eax, 0xe43bdf86
mov dword [0x48e540], eax
mov ax, word [0x485c78]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x485c78], ax
movsx ecx, ax
xor ecx, 0x480cc1f0
mov dword [0x494a58], ecx
mov ecx, dword [esp + 4]
dec ecx
mov dword [esp + 4], ecx
mov ecx, dword [0x499b5c]
xor ecx, 0xa6c7b84c
mov dword [0x494e6c], ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x447e79
mov ax, word [0x485fce]
mov cx, ax
mov edx, 0xe4df24b4
sub edx, ecx
and edx, 0xa33d
mov ax, word [0x488dba]
mov cx, ax
imul ecx, edx
mov ax, cx
mov word [0x488dba], ax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea ecx, [ecx + edx + 1]
mov dword [esp + 8], ecx
mov ax, word [0x486aa6]
movsx ecx, ax
and ecx, 0x25de2a79
mov edx, dword [0x4922ec]
dec edx
mov dword [0x4922ec], edx
add edx, 0x61e9b4fb
or edx, 0xf3e76539
cmp ecx, edx
jge 0x447f5a
mov ax, word [0x4850ca]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x4850ca], ax
movsx ecx, ax
mov edx, dword [0x48f6a0]
sub edx, ecx
mov dword [0x48f6a0], edx
jmp 0x447f5f
mov eax, 0x33a2fc72
mov ecx, dword [0x48ea10]
sar ecx, 5
mov edx, dword [0x4942e4]
add ecx, edx
and ecx, 0xa6697a34
cmp eax, ecx
jl 0x447f9c
mov eax, dword [0x492480]
dec eax
mov dword [0x492480], eax
mov ecx, dword [0x494c1c]
sub ecx, eax
mov dword [0x494c1c], ecx
mov eax, dword [esp + 8]
add esp, 0x10
ret