Function at 0x440a52
Capabilities:
Encode data using xor

Disassembly:
push ebp
nop
mov ebp, esp
nop
sub esp, 0x3c
nop
mov eax, dword [0x4082e8]
nop
mov dword [0x40878d], 0x3fd
nop
push ebx
nop
mov dword [0x408741], 0x4c87
nop
mov ebx, 0xc6f8e435
nop
mov dword [ebp - 0x18], ebx
nop
mov dword [ebp - 0x38], 0
nop
push esi
nop
not esi
nop
mov dword [ebp - 0x10], 0xc6f8e434
nop
mov esi, 0x236c
nop
push edi
nop
mov dword [ebp - 0xc], 0xc6f8e679
nop
mov dword [ebp - 8], eax
nop
mov edi, 0x5319
nop
mov esi, 0x2a823c2b
nop
mov edi, 0x138527e2
nop
jmp 0x440dad
mov eax, dword [ebp - 0xc]
nop
xor ecx, ecx
nop
or ecx, dword [0x408811]
nop
or dword [0x408739], ecx
nop
mov ecx, dword [ebp - 0x10]
nop
imul eax, ecx
nop
sub dword [0x408741], 0x4d57
nop
mov dword [ebp - 0x1c], eax
nop
mov eax, dword [ebp - 0xc]
nop
sbb dword [0x40880d], 0xcad
nop
add eax, dword [ebp - 0x18]
nop
mov dword [ebp - 0x28], eax
nop
and dword [0x408751], 0x4087b9
nop
push 0
nop
inc dword [0x408849]
nop
call dword [sym.imp.user32.dll_GetWindowDC]
push 0x31
nop
xor dword [0x40878d], 0x408805
nop
call dword [sym.imp.user32.dll_IsCharAlphaNumericW]
sbb dword [0x408805], 0x40884d
nop
test eax, eax
nop
mov dword [0x4087b9], 0x7a2d
nop
je 0x440b06
mov eax, dword [ebp - 0x28]
nop
mov dword [0x408805], ecx
nop
mov eax, dword [ebp - 0xc]
nop
mov dword [0x4087fd], ecx
nop
mov ecx, dword [ebp - 0x1c]
nop
mov dword [0x40877d], 0x6098
nop
lea ecx, [ebp - 0x24]
nop
mov dword [0x408741], 0x483b
nop
mov dword [ebp - 0x38], ecx
nop
mov dword [0x408741], 0x378b
nop
mov dword [ebp - 0x14], 0xc6f8e434
nop
mov dword [0x408745], 0x52a8
nop
mov dword [ebp - 0x28], eax
nop
mov dword [ebp - 0x1c], ebx
nop
mov dword [0x40874d], 0x7b25
nop
mov dword [0x4081a8], 0x408030
nop
mov dword [0x408745], 0x640e
nop
cmp eax, 0xc6f8e5bc
nop
mov dword [0x408805], 0x6668
nop
jne 0x440c0a
xor dword [0x408751], 0x7cb4
nop
call fcn.0043f434
mov dword [0x40880d], 0x4fb
nop
jmp 0x440cbb
mov dword [0x4087fd], 0x763e
nop
cmp eax, 0xc6f8e514
nop
mov dword [0x40883d], 0x5556
nop
jne 0x440c81
mov eax, dword [ebp - 0x1c]
nop
mov ecx, dword [0x408414]
nop
and dword [0x408749], 0x40877d
nop
xor eax, esi
nop
or dword [0x408849], 0xa2f
nop
add eax, edi
nop
cmp eax, ecx
nop
mov dword [0x4087bd], 0x3c
nop
jne 0x440cbb
or dword [0x4087fd], 0x408809
nop
push dword [ebp - 0x1c]
nop
push 0xc60001b8
nop
call fcn.0044149c
cmp dword [ebp - 0x28], 0xc6f8e41b
nop
mov dword [0x408791], 0x6bc3
nop
jne 0x440cbb
mov eax, dword [ebp - 0x14]
nop
xor eax, esi
nop
mov ecx, dword [0x408799]
nop
mov ecx, dword [ecx]
nop
adc dword [0x408839], ecx
nop
add eax, edi
nop
dec ecx
nop
mov dword [ebp - 0x24], eax
nop
mov eax, dword [ebp - 0x24]
nop
sub ecx, dword [0x4087fd]
nop
mov dword [ebp - 0x28], eax
nop
mov eax, dword [ebp - 0x10]
nop
sub dword [0x408809], edi
nop
mov ecx, dword [ebp - 0x28]
nop
adc dword [0x408789], 0x16d
nop
xor eax, esi
nop
add eax, edi
nop
mov dword [0x4087cd], 0x5768
nop
cmp ecx, eax
nop
jne 0x440d68
dec dword [0x4087f9]
nop
mov eax, dword [ebp - 0x18]
nop
xor eax, esi
nop
add eax, edi
nop
mov dword [ebp - 0x14], eax
nop
mov eax, dword [0x4082d8]
nop
xor dword [0x4082d8], eax
nop
sbb ecx, dword [0x408841]
nop
mov eax, dword [0x4082dc]
nop
movzx ecx, word [0x408839]
nop
and dword [0x40874d], ecx
nop
mov dword [0x40825c], eax
nop
adc dword [0x408779], edx
nop
mov eax, dword [0x4082e0]
nop
mov dword [0x40802c], eax
nop
mov eax, dword [0x4082e4]
nop
sub dword [0x40874d], ecx
nop
mov dword [0x40827c], eax
nop
sbb eax, 0x6421
nop
mov eax, dword [ebp - 0xc]
nop
mov ecx, dword [0x408801]
nop
and dword [0x408749], ecx
nop
mov ecx, dword [ebp - 0x10]
nop
xor eax, esi
nop
xor ecx, esi
nop
or dword [0x4087b9], 0x408755
nop
sub eax, ecx
nop
sub eax, edi
nop
and dword [0x40874d], 0x7956
nop
xor eax, esi
nop
mov dword [ebp - 0xc], eax
nop
mov eax, dword [ebp - 0xc]
nop
or dword [0x408815], 0x1d77
nop
xor eax, esi
nop
add dword [0x4087fd], 0x408801
nop
add eax, edi
nop
mov dword [0x408779], 0x4ae1
nop
jne 0x440ac3
xor eax, eax
nop
add eax, dword [0x40877d]
nop
and dword [0x408751], eax
nop
mov eax, dword [ebp - 8]
nop
and edx, edx
nop
mov dword [ebp - 0x34], eax
nop
sub dword [0x408749], ecx
nop
mov eax, dword [0x4081a8]
nop
adc ecx, edx
nop
mov dword [ebp - 0xc], ebx
nop
mov dword [ebp - 0x38], 0xc6f8e465
nop
mov edx, 0xc6f8e434
nop
adc dword [0x40884d], edi
nop
mov dword [ebp - 0x28], edx
nop
xor dword [0x408791], 0x33c2
nop
mov ecx, dword [ebp - 0x28]
nop
mov ebx, dword [0x40802c]
nop
xor dword [0x408739], 0x7bd3
nop
xor ecx, esi
nop
or dword [0x408795], 0x12f2
nop
add ecx, edi
nop
cmp ecx, ebx
nop
mov dword [0x4087fd], 0x5a3b
nop
je 0x441332
adc ecx, 0x3e0a
nop
mov eax, dword [eax + 0x1c8]
nop
mov eax, dword [eax]
nop
mov ecx, dword [0x4087c9]
nop
add dword [0x40880d], ecx
nop
mov dword [ebp - 0x38], 0xc6f8e408
nop
or dword [0x4087c5], 0x408849
nop
mov byte [ebp - 1], 0x85
nop
mov ecx, dword [ebp - 0xc]
nop
sbb dword [0x408789], 0x5488
nop
xor eax, esi
nop
xor ecx, esi
nop
add dword [0x408779], 0x408855
nop
add eax, edi
nop
add ecx, edi
nop
mov dword [0x4087c1], 0x5687
nop
cmp ecx, eax
nop
mov dword [0x408851], 0x20c3
nop
je 0x441332
or dword [0x408741], ebx
nop
mov eax, dword [ebp - 0xc]
nop
add dword [0x4087f9], 0x7a1f
nop
mov dword [ebp - 0x14], eax
nop
not dword [0x408791]
nop
mov eax, dword [ebp - 0xc]
nop
not dword [0x408815]
nop
xor eax, esi
nop
adc dword [0x408859], 0x1a54
nop
add eax, edi
nop
mov dword [0x408809], 0xfdf
nop
jmp 0x440f58
mov ecx, dword [ebp - 0x14]
nop
xor ecx, esi
nop
inc ecx
nop
neg ebx
nop
xor ecx, esi
nop
mov dword [0x408741], ecx
nop
mov dword [ebp - 0x14], ecx
nop
mov ebx, 0x1da3
nop
inc eax
nop
mov ecx, dword [0x4081a8]
nop
mov ebx, dword [0x4087f9]
nop
mov ecx, dword [ecx + 0x194]
nop
mov ebx, dword [ecx]
nop
mov dword [0x40878d], 0x4886
nop
mov ecx, ebx
nop
mov ebx, dword [ebx + 0x3c]
nop
cmp eax, dword [ebx + ecx + 0x28]
nop
mov dword [0x4087b9], 0x1b71
nop
jb 0x440f36
mov dword [ebp - 0x38], edx
nop
or eax, dword [0x40884d]
nop
mov eax, dword [ebp - 0x14]
nop
mov ecx, dword [0x408839]
nop
or dword [0x4087d1], ecx
nop
mov ecx, dword [0x4081a8]
nop
mov ecx, dword [ecx + 0x194]
nop
mov ecx, dword [ecx]
nop
not dword [0x408815]
nop
xor eax, esi
nop
lea eax, [eax + ecx + 0x138527e2]
nop
mov dword [0x4082d4], eax
nop
and ecx, ecx
nop
mov dword [ebp - 8], 0x1e725789
nop
xor ecx, dword [0x40877d]
nop
mov dword [ebp - 0x14], 0xc6f8e455
nop
mov ecx, dword [ebp - 0xc]
nop
mov eax, dword [ebp - 0x14]
nop
xor ecx, esi
nop
xor dword [0x4087d1], 0x408789
nop
xor eax, esi
nop
mov dword [0x408741], 0x634
nop
add ecx, edi
nop
add eax, edi
nop
mov dword [0x408749], 0x4518
nop
mov dword [ebp - 0x28], ecx
nop
cmp ecx, eax
nop
mov dword [0x408809], 0x318b
nop
jae 0x441309
lea eax, [ecx - 0x138527e2]
nop
dec dword [0x4087b9]
nop
mov dword [ebp - 0x10], eax
nop
mov eax, dword [ebp - 0x10]
nop
sbb dword [0x408809], 0x3ba8
nop
xor eax, esi
nop
imul eax, eax, 0xdf41139d
nop
mov ebx, dword [0x40878d]
nop
sub dword [0x4087c5], ebx
nop
xor eax, 0xc6f8e08e
nop
sbb dword [0x408745], 0x74dc
nop
add eax, dword [ebp - 8]
nop
add ebx, dword [0x4087d1]
nop
xor edx, edx
nop
and ebx, 0xa2b
nop
mov dword [ebp - 8], eax
nop
mov dword [0x408861], 0x7d3e
nop
mov eax, dword [0x4082d4]
nop
dec dword [0x4087bd]
nop
mov dword [ebp - 0x30], eax
nop
sbb ebx, 0x7fc2
nop
mov eax, dword [ebp - 8]
nop
sbb dword [0x408801], edx
nop
mov ebx, 0xc6f8e408
nop
and dword [0x408749], 0x3ffa
nop
div ebx
nop
mov eax, dword [ebp - 0x10]
nop
test edx, edx
nop
je 0x44113e
adc dword [0x40880d], 0x408841
nop
xor eax, 0xea823c2b
nop
sbb dword [0x408805], 0x3ef9
nop
add eax, 0x636139d
nop
or eax, 0xc6f8d08e
nop
and dword [0x4087c9], 0x4087c1
nop
sub dword [ebp - 8], eax
nop
mov dword [0x408781], 0x5830
nop
jmp 0x441178
mov edx, dword [ebp - 8]
nop
xor dword [0x4087f9], 0x4db5
nop
xor eax, 0xffc33fbf
nop
adc dword [0x40884d], 0x6d10
nop
or eax, 0xdf41139d
nop
add eax, 0x39071f72
nop
and eax, edx
nop
add ebx, dword [0x4087c5]
nop
mov dword [ebp - 8], eax
nop
and ebx, ebx
nop
mov ebx, dword [ebp - 0xc]
nop
mov eax, dword [ebp - 0x14]
nop
xor dword [0x408779], 0x5410
nop
xor ebx, esi
nop
or dword [0x408859], 0x408815
nop
xor eax, esi
nop
add ebx, edi
nop
add eax, edi
nop
cmp ebx, eax
nop
jae 0x4412ec
movzx ecx, word [0x4087c9]
nop
adc dword [0x408845], ecx
nop
lea eax, [ebx - 0x138527e2]
nop
and ecx, 0x4094
nop
mov dword [ebp - 0x1c], eax
nop
inc eax
nop
mov eax, dword [ebp - 0x1c]
nop
xor eax, esi
nop
mov ecx, dword [0x408781]
nop
or dword [0x408741], ecx
nop
mov dword [ebp - 0x2c], eax
nop
xor dword [0x408805], edx
nop
imul eax, eax, 0xc601139d
nop
movzx ecx, byte [0x4087c5]
nop
xor dword [0x4087c1], ecx
nop
xor eax, 0xc6f8d08e
nop
adc ecx, 0x1795
nop
sub dword [ebp - 8], eax
nop
sbb dword [0x40884d], 0x3272
nop
mov eax, dword [ebp - 8]
nop
xor edx, edx
nop
add dword [0x408801], 0x1f71
nop
mov ecx, 0xc6f8e408
nop
sub dword [0x40884d], 0x408841
nop
div ecx
nop
sbb dword [0x4087c1], 0x296d
nop
mov eax, dword [ebp - 0x10]
nop
test edx, edx
nop
je 0x44127c
xor eax, 0xea823c2b
nop
add eax, 0x636139d
nop
or eax, 0xc6f8d08e
nop
sub dword [ebp - 8], eax
nop
jmp 0x441299
mov ecx, dword [ebp - 8]
nop
xor eax, 0xffc33fbf
nop
or eax, 0xdf41139d
nop
add eax, 0x39071f72
nop
and eax, ecx
nop
mov dword [ebp - 8], eax
nop
cmp dword [ebp - 0x2c], 0xc6f8e465
nop
jne 0x4412cf
push dword [0x40827c]
nop
push dword [0x40802c]
nop
mov eax, dword [0x4081a8]
nop
mov eax, dword [eax + 0x194]
nop
push dword [eax]
nop
call dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
nop
mov dword [ecx], eax
nop
mov eax, dword [ebp - 0x14]
nop
xor eax, esi
nop
inc ebx
nop
inc dword [ebp - 0x1c]
nop
add eax, edi
nop
cmp ebx, eax
nop
jb 0x4411cf
mov ecx, dword [ebp - 0x28]
nop
mov eax, dword [ebp - 0x14]
nop
xor eax, esi
nop
inc ecx
nop
inc dword [ebp - 0x10]
nop
add eax, edi
nop
mov dword [ebp - 0x28], ecx
nop
cmp ecx, eax
nop
jb 0x441057
mov eax, dword [ebp - 0xc]
nop
xor eax, esi
nop
add eax, edi
nop
mov dword [0x408220], eax
nop
mov eax, dword [ebp - 0xc]
nop
xor eax, esi
nop
add eax, edi
nop
mov dword [0x408228], eax
nop
mov eax, dword [ebp - 0x38]
nop
jmp 0x441336
mov eax, dword [ebp - 0xc]
nop
xor eax, esi
nop
add eax, edi
nop
mov dword [ebp - 0x14], eax
nop
mov eax, dword [ebp - 0x14]
nop
sub eax, edi
nop
xor eax, esi
nop
mov dword [ebp - 0x14], eax
nop
mov eax, dword [ebp - 0x14]
nop
mov ecx, dword [ebp - 0x18]
nop
cmp ecx, eax
nop
jne 0x44147d
mov eax, dword [0x408024]
nop
mov eax, dword [eax]
nop
and dword [ebp - 0x20], 0
nop
or dword [ebp - 0x20], eax
nop
mov eax, dword [0x4082cc]
nop
mov dword [ebp - 0x38], eax
nop
mov dword [ebp - 0x38], 0xc6f8e475
nop
mov dword [ebp - 0x28], 0xc6f8e408
nop
lea eax, [ebp - 0x3c]
nop
push eax
nop
mov byte [ebp - 1], 0x85
nop
mov eax, dword [ebp - 0x38]
nop
xor eax, esi
nop
add eax, edi
nop
push eax
nop
mov eax, dword [ebp - 0x28]
nop
xor eax, esi
nop
add eax, edi
nop
push eax
nop
push dword [0x4082d0]
nop
mov eax, dword [0x4081c8]
nop
push 4
nop
push 1
nop
push 0x40811e
nop
push dword [eax]
nop
call fcn.004404ba
mov al, byte [ebp - 1]
nop
mov ecx, dword [0x4082d0]
nop
xor al, 0x3f
nop
add al, 0x2f
nop
mov byte [ecx], al
nop
mov ecx, dword [ebp - 0x28]
nop
xor ecx, esi
nop
mov eax, 0xec7ad81e
nop
sub eax, ecx
nop
mov ecx, dword [0x4082d0]
nop
sub eax, ecx
nop
mov ecx, dword [0x4082c0]
nop
add esp, 0x20
nop
add eax, ecx
nop
mov ecx, dword [0x4082d0]
nop
mov dword [ecx + 1], eax
nop
push dword [0x4081a8]
nop
push dword [ebp - 0x20]
nop
push dword [0x40827c]
nop
push dword [0x40802c]
nop
push dword [0x40825c]
nop
mov eax, dword [0x4082c0]
nop
push dword [0x408340]
nop
call eax
lea eax, [ebp + 4]
nop
mov dword [0x4082d8], eax
nop
mov eax, dword [0x4082d8]
nop
mov ecx, dword [0x408220]
nop
add dword [eax], ecx
nop
mov eax, dword [0x4081a8]
nop
mov eax, dword [eax + 0x1cc]
nop
mov ecx, dword [eax]
nop
mov eax, dword [0x4082e8]
nop
or dword [eax], ecx
nop
jmp 0x441491
mov eax, dword [ebp - 0x18]
nop
mov ecx, dword [0x4082e8]
nop
xor eax, esi
nop
add eax, edi
nop
mov dword [ecx], eax
nop
pop edi
nop
pop esi
nop
pop ebx
nop
leave
nop
ret 0xc