Function at 0x450370
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50fc65
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push esi
mov dword [ebp - 0x26], 0x9086a5bb
xor ecx, ecx
mov dword [ebp - 0x22], 0x8f818082
mov dword [ebp - 0x1e], 0x8098b6b3
mov dword [ebp - 0x1a], 0x8e9a9296
mov word [ebp - 0x16], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x26], al
inc ecx
cmp ecx, 0x10
jb 0x4503b0
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x26]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4503e2
sub ecx, esi
lea eax, [ebp - 0x26]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x1d], 0x8f9b81a1
mov dword [ebp - 0x19], 0x95838d
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1d], al
inc ecx
cmp ecx, 7
jb 0x450412
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x1d]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450444
sub ecx, esi
lea eax, [ebp - 0x1d]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 1
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x28], 0x9086a5bb
mov dword [ebp - 0x24], 0x8f818082
xor ecx, ecx
mov dword [ebp - 0x20], 0x9394a3b3
mov dword [ebp - 0x1c], 0x9d9b9bbe
mov dword [ebp - 0x18], 0x1008192
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x28], al
inc ecx
cmp ecx, 0x12
jb 0x450491
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x28]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4504c3
sub ecx, esi
lea eax, [ebp - 0x28]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x1f], 0xa7888db4
mov dword [ebp - 0x1b], 0x8b868284
mov word [ebp - 0x17], 0x96
mov byte [ebp - 0x15], 1
lea esp, [esp]
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 9
jb 0x450500
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450532
sub ecx, esi
lea eax, [ebp - 0x1f]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 3
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x22], 0x9f81bcbb
mov dword [ebp - 0x1e], 0x9c888885
xor ecx, ecx
mov dword [ebp - 0x1a], 0x9683998d
mov word [ebp - 0x16], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x22], al
inc ecx
cmp ecx, 0xc
jb 0x450577
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x22]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4505b0
sub ecx, esi
lea eax, [ebp - 0x22]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x21], 0x849c80b3
mov dword [ebp - 0x1d], 0x8c9f898f
mov dword [ebp - 0x19], 0x958286
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x21], al
inc ecx
cmp ecx, 0xb
jb 0x4505e7
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x21]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450620
sub ecx, esi
lea eax, [ebp - 0x21]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 5
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x1f], 0x9e88bfbb
mov dword [ebp - 0x1b], 0x818b9e8e
xor ecx, ecx
mov word [ebp - 0x17], 0x97
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 9
jb 0x450662
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450694
sub ecx, esi
lea eax, [ebp - 0x1f]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x1e], 0x8f9d89b0
mov dword [ebp - 0x1a], 0x96828a99
mov word [ebp - 0x16], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 8
jb 0x4506c6
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1e]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4506f8
sub ecx, esi
lea eax, [ebp - 0x1e]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 7
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x1f], 0xa7c4a3bb
mov dword [ebp - 0x1b], 0x8188808e
xor ecx, ecx
mov word [ebp - 0x17], 0x81
mov byte [ebp - 0x15], 1
lea ebx, [ebx]
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 9
jb 0x450740
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450772
sub ecx, esi
lea eax, [ebp - 0x1f]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x1e], 0x8fa4c5ac
mov dword [ebp - 0x1a], 0x80828987
mov word [ebp - 0x16], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 8
jb 0x4507a4
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1e]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4507d6
sub ecx, esi
lea eax, [ebp - 0x1e]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 9
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x27], 0x8786abbb
mov dword [ebp - 0x23], 0xb2828884
xor ecx, ecx
mov dword [ebp - 0x1f], 0xb69493a6
mov dword [ebp - 0x1b], 0x99929581
mov word [ebp - 0x17], 0x99
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x11
jb 0x450826
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x27]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450858
sub ecx, esi
lea eax, [ebp - 0x27]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x1f], 0xae8c8bae
mov dword [ebp - 0x1b], 0x818a8d99
mov word [ebp - 0x17], 0x81
mov byte [ebp - 0x15], 1
mov edi, edi
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 9
jb 0x450890
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4508c2
sub ecx, esi
lea eax, [ebp - 0x1f]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 0xb
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x2c], 0x8f99d0bb
mov dword [ebp - 0x28], 0x9a9e9488
xor ecx, ecx
mov dword [ebp - 0x24], 0x9d98949a
mov dword [ebp - 0x20], 0x8fb6a880
mov dword [ebp - 0x1c], 0x9c8b9d95
mov dword [ebp - 0x18], 0x1008494
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x2c], al
inc ecx
cmp ecx, 0x16
jb 0x450916
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x2c]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450948
sub ecx, esi
lea eax, [ebp - 0x2c]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp - 0x1e], 0x8f8b91a4
mov dword [ebp - 0x1a], 0x96828a99
mov word [ebp - 0x16], 0x100
lea ebx, [ebx]
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1e], al
inc ecx
cmp ecx, 8
jb 0x450980
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1e]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4509b2
sub ecx, esi
lea eax, [ebp - 0x1e]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 0xd
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x35], 0xbeaca6bb
mov dword [ebp - 0x31], 0xabb9adac
xor ecx, ecx
mov dword [ebp - 0x2d], 0x9194a4cf
mov dword [ebp - 0x29], 0x9a9a9a9b
mov dword [ebp - 0x25], 0x9f909f98
mov dword [ebp - 0x21], 0x92bfa088
mov dword [ebp - 0x1d], 0x4a6a639e
mov dword [ebp - 0x19], 0x6e7362
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x35], al
inc ecx
cmp ecx, 0x1f
jb 0x450a18
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x35]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450a50
sub ecx, esi
lea eax, [ebp - 0x35]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x1f], 0x898884a5
mov dword [ebp - 0x1b], 0x998ca480
mov word [ebp - 0x17], 0x84
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 9
jb 0x450a86
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450ab8
sub ecx, esi
lea eax, [ebp - 0x1f]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 0xf
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
add esp, 0x30
mov dword [ebp - 0x36], 0x8586a5bb
mov dword [ebp - 0x32], 0x87858f85
xor ecx, ecx
mov dword [ebp - 0x2e], 0xa2d19483
mov dword [ebp - 0x2a], 0x83919b81
mov dword [ebp - 0x26], 0x95908c94
mov dword [ebp - 0x22], 0xaea18f95
mov dword [ebp - 0x1e], 0x22646c9e
mov dword [ebp - 0x1a], 0x686a6b4e
mov word [ebp - 0x16], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x36], al
inc ecx
cmp ecx, 0x20
jb 0x450b20
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x14], esp
xor eax, eax
lea ecx, [ebp - 0x36]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450b52
sub ecx, esi
lea eax, [ebp - 0x36]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0x1f], 0x8f8589b7
mov dword [ebp - 0x1b], 0x8182a1cb
mov word [ebp - 0x17], 0x81
mov byte [ebp - 0x15], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 9
jb 0x450b88
sub esp, 0x18
mov byte [ebp - 0x15], 0
mov edx, esp
mov dword [ebp - 0x10], esp
xor eax, eax
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x450bc0
sub ecx, esi
lea eax, [ebp - 0x1f]
push ecx
push eax
mov ecx, edx
call fcn.00402ea0
mov byte [ebp - 4], 0x11
mov dword [ebp - 4], 0xffffffff
call fcn.00433e30
mov ecx, dword [ebp - 0xc]
add esp, 0x30
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret