Function at 0x401950
Capabilities:
Encode data using xor

Disassembly:
mov ecx, 0xc000008e
cmp eax, ecx
ja 0x4019ea
je 0x4019e5
add ecx, 0xffffff8f
cmp eax, ecx
ja 0x4019b1
je 0x4019ac
cmp eax, reloc.OLEAUT32.dll_SysReAllocString
je 0x4019a7
cmp eax, 0x80000003
je 0x4019a2
cmp eax, 0x80000004
je 0x40199d
cmp eax, 0xc0000005
je 0x401998
cmp eax, 0xc0000006
jne 0x401a52
jmp 0x401ffe
jmp 0x401a6b
jmp 0x4022d2
jmp 0x401b61
jmp 0x401bc7
jmp 0x401f82
cmp eax, 0xc0000025
je 0x4019e0
cmp eax, 0xc0000026
je 0x4019db
cmp eax, 0xc000008c
je 0x4019d6
cmp eax, 0xc000008d
jne 0x401a52
jmp 0x401c44
jmp 0x401ae4
jmp 0x402150
jmp 0x4021cc
jmp 0x401cc7
mov ecx, 0xc0000094
cmp eax, ecx
ja 0x401a36
je 0x401a31
cmp eax, 0xc000008f
je 0x401a2c
cmp eax, 0xc0000090
je 0x401a27
cmp eax, 0xc0000091
je 0x401a22
cmp eax, 0xc0000092
je 0x401a1d
cmp eax, 0xc0000093
jne 0x401a52
jmp 0x401f19
jmp 0x401ea7
jmp 0x401e38
jmp 0x401dbb
jmp 0x401d41
jmp 0x402067
cmp eax, 0xc0000095
je 0x401a66
cmp eax, 0xc0000096
je 0x401a61
cmp eax, 0xc00000fd
je 0x401a5c
cmp eax, 0xe06d7363
je 0x401a57
jmp 0x4023fe
jmp 0x4023aa
jmp 0x40233a
jmp 0x402259
jmp 0x4020e1
test byte [0x4a4620], 1
jne 0x401ac7
or dword [0x4a4620], 1
mov dword [0x49ea44], 0xc6c0dbc6
mov dword [0x49ea48], 0xcccad7d3
mov dword [0x49ea4c], 0xc0c2dccd
mov dword [0x49ea50], 0xd0d0c6c0
mov dword [0x49ea54], 0xcccad5dc
mov dword [0x49ea58], 0xcad7c2cf
mov word [0x49ea5c], 0xcdcc
mov byte [0x49ea5e], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ea44]
xor cl, 0x83
mov byte [eax + 0x49f074], cl
inc eax
cmp eax, 0x1b
jb 0x401ac9
mov eax, 0x49f074
ret
test byte [0x4a461c], 1
jne 0x401b44
or dword [0x4a461c], 1
mov dword [0x49ea60], 0xc6c0dbc6
mov dword [0x49ea64], 0xcccad7d3
mov dword [0x49ea68], 0xd1c2dccd
mov dword [0x49ea6c], 0xdcdac2d1
mov dword [0x49ea70], 0xcdd6ccc1
mov dword [0x49ea74], 0xc6dcd0c7
mov dword [0x49ea78], 0xc6c6c0db
mov dword [0x49ea7c], 0x83c7c6c7
xor eax, eax
mov cl, byte [eax + 0x49ea60]
xor cl, 0x83
mov byte [eax + 0x49f090], cl
inc eax
cmp eax, 0x20
jb 0x401b46
mov eax, 0x49f090
ret
test byte [0x4a4618], 1
jne 0x401baa
or dword [0x4a4618], 1
mov dword [0x49ea80], 0xc6c0dbc6
mov dword [0x49ea84], 0xcccad7d3
mov dword [0x49ea88], 0xd1c1dccd
mov dword [0x49ea8c], 0xd3c8c2c6
mov dword [0x49ea90], 0xd7cdcacc
mov byte [0x49ea94], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ea80]
xor cl, 0x83
mov byte [eax + 0x49f0b0], cl
inc eax
cmp eax, 0x15
jb 0x401bac
mov eax, 0x49f0b0
ret
test byte [0x4a4614], 1
jne 0x401c27
or dword [0x4a4614], 1
mov dword [0x49ea98], 0xc6c0dbc6
mov dword [0x49ea9c], 0xcccad7d3
mov dword [0x49eaa0], 0xc2c7dccd
mov dword [0x49eaa4], 0xdad7c2d7
mov dword [0x49eaa8], 0xcedcc6d3
mov dword [0x49eaac], 0xcfc2d0ca
mov dword [0x49eab0], 0xcecdc4ca
mov dword [0x49eab4], 0x83d7cdc6
xor eax, eax
mov cl, byte [eax + 0x49ea98]
xor cl, 0x83
mov byte [eax + 0x49f0c8], cl
inc eax
cmp eax, 0x20
jb 0x401c29
mov eax, 0x49f0c8
ret
test byte [0x4a4610], 1
jne 0x401caa
or dword [0x4a4610], 1
mov dword [0x49eab8], 0xc6c0dbc6
mov dword [0x49eabc], 0xcccad7d3
mov dword [0x49eac0], 0xcfc5dccd
mov dword [0x49eac4], 0xc6c7dcd7
mov dword [0x49eac8], 0xced1cccd
mov dword [0x49eacc], 0xccdccfc2
mov dword [0x49ead0], 0xc2d1c6d3
mov word [0x49ead4], 0xc7cd
mov byte [0x49ead6], 0x83
xor eax, eax
mov cl, byte [eax + 0x49eab8]
xor cl, 0x83
mov byte [eax + 0x49f0e8], cl
inc eax
cmp eax, 0x1f
jb 0x401cac
mov eax, 0x49f0e8
ret
test byte [0x4a460c], 1
jne 0x401d24
or dword [0x4a460c], 1
mov dword [0x49ead8], 0xc6c0dbc6
mov dword [0x49eadc], 0xcccad7d3
mov dword [0x49eae0], 0xcfc5dccd
mov dword [0x49eae4], 0xcac7dcd7
mov dword [0x49eae8], 0xc6c7cad5
mov dword [0x49eaec], 0xdcdac1dc
mov dword [0x49eaf0], 0xccd1c6d9
mov byte [0x49eaf4], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ead8]
xor cl, 0x83
mov byte [eax + 0x49f108], cl
inc eax
cmp eax, 0x1d
jb 0x401d26
mov eax, 0x49f108
ret
test byte [0x4a4608], 1
jne 0x401d9e
or dword [0x4a4608], 1
mov dword [0x49eaf8], 0xc6c0dbc6
mov dword [0x49eafc], 0xcccad7d3
mov dword [0x49eb00], 0xcfc5dccd
mov dword [0x49eb04], 0xcdcadcd7
mov dword [0x49eb08], 0xc0c2dbc6
mov dword [0x49eb0c], 0xc6d1dcd7
mov dword [0x49eb10], 0xd7cfd6d0
mov byte [0x49eb14], 0x83
xor eax, eax
mov cl, byte [eax + 0x49eaf8]
xor cl, 0x83
mov byte [eax + 0x49f128], cl
inc eax
cmp eax, 0x1d
jb 0x401da0
mov eax, 0x49f128
ret
test byte [0x4a4604], 1
jne 0x401e1b
or dword [0x4a4604], 1
mov dword [0x49eb18], 0xc6c0dbc6
mov dword [0x49eb1c], 0xcccad7d3
mov dword [0x49eb20], 0xcfc5dccd
mov dword [0x49eb24], 0xcdcadcd7
mov dword [0x49eb28], 0xcacfc2d5
mov dword [0x49eb2c], 0xd3ccdcc7
mov dword [0x49eb30], 0xd7c2d1c6
mov dword [0x49eb34], 0x83cdccca
xor eax, eax
mov cl, byte [eax + 0x49eb18]
xor cl, 0x83
mov byte [eax + 0x49f148], cl
inc eax
cmp eax, 0x20
jb 0x401e1d
mov eax, 0x49f148
ret
test byte [0x4a4600], 1
jne 0x401e8a
or dword [0x4a4600], 1
mov dword [0x49eb38], 0xc6c0dbc6
mov dword [0x49eb3c], 0xcccad7d3
mov dword [0x49eb40], 0xcfc5dccd
mov dword [0x49eb44], 0xd5ccdcd7
mov dword [0x49eb48], 0xcfc5d1c6
mov word [0x49eb4c], 0xd4cc
mov byte [0x49eb4e], 0x83
xor eax, eax
mov cl, byte [eax + 0x49eb38]
xor cl, 0x83
mov byte [eax + 0x49f168], cl
inc eax
cmp eax, 0x17
jb 0x401e8c
mov eax, 0x49f168
ret
test byte [0x4a45fc], 1
jne 0x401efc
or dword [0x4a45fc], 1
mov dword [0x49eb50], 0xc6c0dbc6
mov dword [0x49eb54], 0xcccad7d3
mov dword [0x49eb58], 0xcfc5dccd
mov dword [0x49eb5c], 0xd7d0dcd7
mov dword [0x49eb60], 0xdcc8c0c2
mov dword [0x49eb64], 0xc0c6cbc0
mov word [0x49eb68], 0x83c8
xor eax, eax
mov cl, byte [eax + 0x49eb50]
xor cl, 0x83
mov byte [eax + 0x49f180], cl
inc eax
cmp eax, 0x1a
jb 0x401efe
mov eax, 0x49f180
ret
test byte [0x4a45f8], 1
jne 0x401f65
or dword [0x4a45f8], 1
mov dword [0x49eb6c], 0xc6c0dbc6
mov dword [0x49eb70], 0xcccad7d3
mov dword [0x49eb74], 0xcfc5dccd
mov dword [0x49eb78], 0xcdd6dcd7
mov dword [0x49eb7c], 0xc5d1c6c7
mov dword [0x49eb80], 0x83d4cccf
xor eax, eax
mov cl, byte [eax + 0x49eb6c]
xor cl, 0x83
mov byte [eax + 0x49f19c], cl
inc eax
cmp eax, 0x18
jb 0x401f67
mov eax, 0x49f19c
ret
test byte [0x4a45f4], 1
jne 0x401fe1
or dword [0x4a45f4], 1
mov dword [0x49eb84], 0xc6c0dbc6
mov dword [0x49eb88], 0xcccad7d3
mov dword [0x49eb8c], 0xcfcadccd
mov dword [0x49eb90], 0xc2c4c6cf
mov dword [0x49eb94], 0xcdcadccf
mov dword [0x49eb98], 0xd6d1d7d0
mov dword [0x49eb9c], 0xcccad7c0
mov word [0x49eba0], 0x83cd
xor eax, eax
mov cl, byte [eax + 0x49eb84]
xor cl, 0x83
mov byte [eax + 0x49f1b4], cl
inc eax
cmp eax, 0x1e
jb 0x401fe3
mov eax, 0x49f1b4
ret
test byte [0x4a45f0], 1
jne 0x40204a
or dword [0x4a45f0], 1
mov dword [0x49eba4], 0xc6c0dbc6
mov dword [0x49eba8], 0xcccad7d3
mov dword [0x49ebac], 0xcdcadccd
mov dword [0x49ebb0], 0xc4c2d3dc
mov dword [0x49ebb4], 0xd1c6dcc6
mov dword [0x49ebb8], 0x83d1ccd1
xor eax, eax
mov cl, byte [eax + 0x49eba4]
xor cl, 0x83
mov byte [eax + 0x49f1d4], cl
inc eax
cmp eax, 0x18
jb 0x40204c
mov eax, 0x49f1d4
ret
test byte [0x4a45ec], 1
jne 0x4020c4
or dword [0x4a45ec], 1
mov dword [0x49ebbc], 0xc6c0dbc6
mov dword [0x49ebc0], 0xcccad7d3
mov dword [0x49ebc4], 0xcdcadccd
mov dword [0x49ebc8], 0xcac7dcd7
mov dword [0x49ebcc], 0xc6c7cad5
mov dword [0x49ebd0], 0xdcdac1dc
mov dword [0x49ebd4], 0xccd1c6d9
mov byte [0x49ebd8], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ebbc]
xor cl, 0x83
mov byte [eax + 0x49f1ec], cl
inc eax
cmp eax, 0x1d
jb 0x4020c6
mov eax, 0x49f1ec
ret
test byte [0x4a45e8], 1
jne 0x402133
or dword [0x4a45e8], 1
mov dword [0x49ebdc], 0xc6c0dbc6
mov dword [0x49ebe0], 0xcccad7d3
mov dword [0x49ebe4], 0xcdcadccd
mov dword [0x49ebe8], 0xd5ccdcd7
mov dword [0x49ebec], 0xcfc5d1c6
mov word [0x49ebf0], 0xd4cc
mov byte [0x49ebf2], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ebdc]
xor cl, 0x83
mov byte [eax + 0x49f20c], cl
inc eax
cmp eax, 0x17
jb 0x402135
mov eax, 0x49f20c
ret
test byte [0x4a45e4], 1
jne 0x4021af
or dword [0x4a45e4], 1
mov dword [0x49ebf4], 0xc6c0dbc6
mov dword [0x49ebf8], 0xcccad7d3
mov dword [0x49ebfc], 0xcdcadccd
mov dword [0x49ec00], 0xcacfc2d5
mov dword [0x49ec04], 0xcac7dcc7
mov dword [0x49ec08], 0xd0ccd3d0
mov dword [0x49ec0c], 0xcccad7ca
mov word [0x49ec10], 0x83cd
xor eax, eax
mov cl, byte [eax + 0x49ebf4]
xor cl, 0x83
mov byte [eax + 0x49f224], cl
inc eax
cmp eax, 0x1e
jb 0x4021b1
mov eax, 0x49f224
ret
test byte [0x4a45e0], 1
jne 0x40223c
or dword [0x4a45e0], 1
mov dword [0x49ec14], 0xc6c0dbc6
mov dword [0x49ec18], 0xcccad7d3
mov dword [0x49ec1c], 0xcccddccd
mov dword [0x49ec20], 0xcdccc0cd
mov dword [0x49ec24], 0xd6cdcad7
mov dword [0x49ec28], 0xc6cfc1c2
mov dword [0x49ec2c], 0xc0dbc6dc
mov dword [0x49ec30], 0xcad7d3c6
mov word [0x49ec34], 0xcdcc
mov byte [0x49ec36], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ec14]
xor cl, 0x83
mov byte [eax + 0x49f244], cl
inc eax
cmp eax, 0x23
jb 0x40223e
mov eax, 0x49f244
ret
test byte [0x4a45dc], 1
jne 0x4022b5
or dword [0x4a45dc], 1
mov dword [0x49ec38], 0xc6c0dbc6
mov dword [0x49ec3c], 0xcccad7d3
mov dword [0x49ec40], 0xd1d3dccd
mov dword [0x49ec44], 0xcadcd5ca
mov dword [0x49ec48], 0xd1d7d0cd
mov dword [0x49ec4c], 0xcad7c0d6
mov word [0x49ec50], 0xcdcc
mov byte [0x49ec52], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ec38]
xor cl, 0x83
mov byte [eax + 0x49f268], cl
inc eax
cmp eax, 0x1b
jb 0x4022b7
mov eax, 0x49f268
ret
test byte [0x4a45d8], 1
jne 0x40231d
or dword [0x4a45d8], 1
mov dword [0x49ec54], 0xc6c0dbc6
mov dword [0x49ec58], 0xcccad7d3
mov dword [0x49ec5c], 0xcad0dccd
mov dword [0x49ec60], 0xc6cfc4cd
mov dword [0x49ec64], 0xc6d7d0dc
mov word [0x49ec68], 0x83d3
xor eax, eax
mov cl, byte [eax + 0x49ec54]
xor cl, 0x83
mov byte [eax + 0x49f284], cl
inc eax
cmp eax, 0x16
jb 0x40231f
mov eax, 0x49f284
ret
test byte [0x4a45d4], 1
jne 0x40238d
or dword [0x4a45d4], 1
mov dword [0x49ec6c], 0xc6c0dbc6
mov dword [0x49ec70], 0xcccad7d3
mov dword [0x49ec74], 0xd7d0dccd
mov dword [0x49ec78], 0xdcc8c0c2
mov dword [0x49ec7c], 0xd1c6d5cc
mov dword [0x49ec80], 0xd4cccfc5
mov byte [0x49ec84], 0x83
xor eax, eax
mov cl, byte [eax + 0x49ec6c]
xor cl, 0x83
mov byte [eax + 0x49f29c], cl
inc eax
cmp eax, 0x19
jb 0x40238f
mov eax, 0x49f29c
ret
test byte [0x4a45d0], 1
jne 0x4023e1
or dword [0x4a45d0], 1
mov dword [0x49ec88], 0xdcd3d3c0
mov dword [0x49ec8c], 0xc6c0dbc6
mov dword [0x49ec90], 0xcccad7d3
mov word [0x49ec94], 0x83cd
xor eax, eax
mov cl, byte [eax + 0x49ec88]
xor cl, 0x83
mov byte [eax + 0x49f2b8], cl
inc eax
cmp eax, 0xe
jb 0x4023e3
mov eax, 0x49f2b8
ret
test byte [0x4a45cc], 1
jne 0x402422
or dword [0x4a45cc], 1
mov dword [0x49ec98], 0xcdc8cdd6
mov dword [0x49ec9c], 0x83cdd4cc
xor eax, eax
mov cl, byte [eax + 0x49ec98]
xor cl, 0x83
mov byte [eax + 0x49f2c8], cl
inc eax
cmp eax, 8
jb 0x402424
mov eax, 0x49f2c8
ret