Function at 0x444af0
Capabilities:
Encode data using xor

Disassembly:
push esi
sub esp, 0x10
mov eax, dword [esp + 0x18]
mov dword [esp + 0xc], eax
mov eax, dword [0x497924]
or eax, 0xeffbf5df
mov dword [0x497924], eax
mov eax, dword [0x497ac4]
and eax, 0xad758c20
mov dword [0x497ac4], eax
mov eax, dword [0x498080]
xor eax, 0x23450818
mov dword [0x498080], eax
mov eax, dword [esp + 0xc]
mov ecx, esp
mov dword [ecx], eax
call fcn.004516e0
mov dword [esp + 4], eax
mov eax, dword [0x4982a4]
dec eax
mov dword [0x4982a4], eax
mov ecx, dword [0x498444]
xor ecx, eax
mov dword [0x498444], ecx
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov eax, dword [0x497db4]
add eax, 0xd38c8ea2
mov dword [0x497db4], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x444c7f
mov eax, dword [0x497c80]
mov ecx, 0xf909ca71
sub ecx, eax
mov eax, dword [0x498c98]
or eax, ecx
mov dword [0x498c98], eax
mov eax, dword [esp + 0xc]
mov byte [eax], 0x22
mov dx, word [0x499b5e]
mov ax, dx
add eax, 0x44034960
mov dx, ax
mov word [0x499b5e], dx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
mov dx, word [0x49a0d8]
mov ax, dx
xor eax, 0xd95f
mov dx, ax
mov word [0x49a0d8], dx
mov eax, dword [0x499ae0]
or eax, 0xe60f0cf0
mov dword [0x499ae0], eax
mov eax, dword [esp + 4]
dec eax
mov dword [esp + 4], eax
mov cx, word [0x499bc0]
mov ax, cx
inc eax
mov dx, ax
mov word [0x499bc0], dx
movsx eax, cx
xor eax, 0x16c8ac3f
mov esi, dword [0x4982c8]
and esi, eax
mov dword [0x4982c8], esi
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x22
jne 0x444bdd
mov eax, dword [0x499054]
and eax, 0x676ea98a
mov dword [0x499054], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
lea eax, [eax + ecx + 1]
mov dword [esp + 8], eax
mov eax, dword [0x498a54]
mov ecx, eax
dec ecx
mov dword [0x498a54], ecx
add eax, 0xfc8202ce
and eax, 0x41294b19
mov ecx, dword [0x497690]
xor ecx, eax
mov dword [0x497690], ecx
jmp 0x444e89
mov eax, 0x96c7092b
mov ecx, dword [0x4996e8]
cmp eax, ecx
jne 0x444ce3
mov eax, dword [0x4976b4]
shl eax, 8
or eax, 0x7af5196e
mov ecx, dword [0x499724]
sub ecx, 0xb20e8d61
cmp eax, ecx
jne 0x444ccf
mov ax, word [0x49abc6]
movsx ecx, ax
mov edx, dword [0x499190]
sub edx, ecx
mov dword [0x499190], edx
jmp 0x444cde
mov eax, dword [0x4987bc]
add eax, 0x62a00102
mov dword [0x4987bc], eax
jmp 0x444ce3
mov eax, dword [esp + 0xc]
mov byte [eax], 0x20
mov eax, dword [0x497620]
mov ecx, eax
inc ecx
mov dword [0x497620], ecx
imul eax, eax, 0x253c9a38
mov ecx, 0xb67e6ff0
sub ecx, eax
mov eax, dword [0x498770]
xor eax, 0xffffffff
xor eax, 0x5c227059
or eax, 0x642eea34
cmp ecx, eax
jge 0x444d76
mov ax, word [0x499e30]
movsx ecx, ax
mov edx, dword [0x49952c]
inc edx
mov dword [0x49952c], edx
xor ecx, edx
xor ecx, 0x639b4799
mov edx, dword [0x497840]
dec edx
mov dword [0x497840], edx
sub edx, 0x18e81778
cmp ecx, edx
jge 0x444d71
mov eax, dword [0x498758]
inc eax
mov dword [0x498758], eax
mov ecx, dword [0x497a64]
or ecx, eax
mov dword [0x497a64], ecx
jmp 0x444d76
jmp 0x444d7b
mov eax, dword [0x498d78]
mov ecx, dword [0x497f54]
xor eax, ecx
cmp eax, 0xdb753124
jl 0x444dd7
mov eax, 0x8297040c
mov ecx, dword [0x498748]
not ecx
mov edx, dword [0x4979bc]
and edx, 0x2f088530
or ecx, edx
cmp eax, ecx
jne 0x444dd2
mov eax, dword [0x4993b4]
and eax, 0xc09a8824
mov ecx, dword [0x4989d0]
or eax, ecx
or eax, 0x1f0443db
mov dword [0x4989d0], eax
jmp 0x444dd7
mov eax, 0xc01fdcbc
mov ecx, dword [esp + 4]
dec ecx
mov dword [esp + 4], ecx
mov ecx, dword [0x49820c]
add ecx, 0xdf1ed6b3
add ecx, 0x3ade82b4
cmp eax, ecx
jg 0x444e2a
mov ax, word [0x49a598]
mov cx, ax
not ecx
and ecx, 0x3f4e
xor ecx, 0xffab
mov ax, word [0x49a192]
mov dx, ax
add edx, ecx
mov ax, dx
mov word [0x49a192], ax
jmp 0x444e2f
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
movsx eax, byte [ecx + eax]
cmp eax, 0x20
jne 0x444d7b
mov ax, word [0x49ad16]
movsx ecx, ax
xor ecx, 0x370dd8d7
mov edx, dword [0x497954]
add edx, ecx
mov dword [0x497954], edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
lea ecx, [ecx + edx + 1]
mov dword [esp + 8], ecx
mov ax, word [0x49acdc]
mov cx, ax
xor ecx, 0x69ac
mov ax, cx
mov word [0x49acdc], ax
mov eax, dword [0x4993d8]
not eax
mov ecx, dword [0x497c28]
not ecx
or eax, ecx
or eax, 0x5e88fc47
mov ecx, dword [0x499430]
and ecx, eax
mov dword [0x499430], ecx
mov eax, dword [esp + 8]
add esp, 0x10
pop esi
ret