Function at 0x414cb8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffe88
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov eax, 0x4ad414
call fcn.00499e38
mov word [ebp - 0x50], 8
lea eax, [ebp - 4]
call fcn.00401b98
inc dword [ebp - 0x44]
mov word [ebp - 0x50], 0x14
mov edx, dword [sym.HID606.exe__Form_Password]
mov ecx, dword [edx + 0x308]
cmp byte [ecx + 0x57], 1
jne 0x414fe3
mov eax, dword [ebp - 0x64]
mov eax, dword [eax + 0x310]
mov dl, 1
call fcn.0047247c
lea eax, [ebp - 0xc]
call fcn.00401b98
mov edx, eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x308]
call fcn.0047255c
lea edx, [ebp - 0xc]
push edx
mov word [ebp - 0x50], 0x20
lea eax, [ebp - 8]
call fcn.00401b98
mov edx, eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x304]
call fcn.0047255c
lea eax, [ebp - 8]
pop edx
call fcn.004a4e80
push eax
dec dword [ebp - 0x44]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004a4d84
dec dword [ebp - 0x44]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004a4d84
pop ecx
test cl, cl
je 0x414dc7
push 0
lea eax, [ebp - 0x72]
call fcn.00403744
mov dl, 2
call fcn.00403778
mov cx, word [eax]
push ecx
mov word [ebp - 0x50], 0x2c
mov edx, 0x4ad193
lea eax, [ebp - 0x10]
call fcn.004a4cc4
inc dword [ebp - 0x44]
mov eax, dword [eax]
mov dl, 1
pop ecx
call fcn.0046ca08
dec dword [ebp - 0x44]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.004a4d84
jmp 0x4151ef
mov word [ebp - 0x50], 0x38
lea eax, [ebp - 0x14]
call fcn.00401b98
mov edx, eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x304]
call fcn.0047255c
lea eax, [ebp - 0x14]
call fcn.004046b4
push eax
call fcn.00499bc4
pop ecx
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x44]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004a4d84
push dword [ebp - 0x70]
mov word [ebp - 0x50], 0x44
lea eax, [ebp - 0x18]
call fcn.00401b98
mov edx, eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x304]
call fcn.0047255c
lea eax, [ebp - 0x18]
call fcn.004046b4
push eax
lea edx, [ebp - 0xf8]
push edx
call fcn.00499a44
add esp, 0xc
dec dword [ebp - 0x44]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004a4d84
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x70]
jge 0x414e79
mov edx, dword [ebp - 0x6c]
add byte [ebp + edx - 0xf8], 0x29
inc dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x70]
jl 0x414e63
xor eax, eax
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jge 0x414ea1
mov cl, byte [ebp - 0x6c]
add cl, 0x8a
mov eax, dword [ebp - 0x6c]
xor byte [ebp + eax - 0xf8], cl
inc dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jl 0x414e86
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x70]
jge 0x414eee
mov edx, dword [ebp - 0x6c]
movsx ecx, byte [ebp + edx - 0xf8]
sar ecx, 4
add cl, 0x30
mov eax, dword [ebp - 0x6c]
mov byte [ebp + eax*2 - 0x178], cl
mov edx, dword [ebp - 0x6c]
mov cl, byte [ebp + edx - 0xf8]
and cl, 0xf
add cl, 0x30
mov eax, dword [ebp - 0x6c]
mov byte [ebp + eax*2 - 0x177], cl
inc dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jl 0x414eae
mov ecx, dword [ebp - 0x6c]
mov byte [ebp + ecx*2 - 0x178], 0
mov word [ebp - 0x50], 0x50
mov edx, 0x4ad1c0
lea eax, [ebp - 0x1c]
call fcn.004a4cc4
inc dword [ebp - 0x44]
lea edx, [ebp - 0x1c]
lea eax, [ebp - 4]
call fcn.004a4db4
dec dword [ebp - 0x44]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004a4d84
mov word [ebp - 0x50], 0x5c
lea edx, [ebp - 0x178]
lea eax, [ebp - 0x20]
call fcn.004a4cc4
inc dword [ebp - 0x44]
lea edx, [ebp - 0x20]
lea eax, [ebp - 4]
call fcn.004a4dc8
dec dword [ebp - 0x44]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004a4d84
push dword [ebp - 4]
mov word [ebp - 0x50], 0x68
mov edx, str.Info
lea eax, [ebp - 0x24]
call fcn.004a4cc4
inc dword [ebp - 0x44]
push dword [eax]
call fcn.00401d6c
add esp, 8
dec dword [ebp - 0x44]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.004a4d84
push 0
lea eax, [ebp - 0x74]
call fcn.00403744
mov dl, 2
call fcn.00403778
mov cx, word [eax]
push ecx
mov word [ebp - 0x50], 0x74
mov edx, str.Change_Password_Sucess_
lea eax, [ebp - 0x28]
call fcn.004a4cc4
inc dword [ebp - 0x44]
mov eax, dword [eax]
mov dl, 2
pop ecx
call fcn.0046ca08
dec dword [ebp - 0x44]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004a4d84
mov eax, dword [sym.HID606.exe__Form_Password]
call fcn.00464068
jmp 0x4151ef
mov word [ebp - 0x50], 0x80
lea eax, [ebp - 0x2c]
call fcn.00401b98
mov edx, eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x304]
call fcn.0047255c
lea eax, [ebp - 0x2c]
call fcn.004046b4
push eax
call fcn.00499bc4
pop ecx
mov dword [ebp - 0x70], eax
dec dword [ebp - 0x44]
lea eax, [ebp - 0x2c]
mov edx, 2
call fcn.004a4d84
push dword [ebp - 0x70]
mov word [ebp - 0x50], 0x8c
lea eax, [ebp - 0x30]
call fcn.00401b98
mov edx, eax
inc dword [ebp - 0x44]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + 0x304]
call fcn.0047255c
lea eax, [ebp - 0x30]
call fcn.004046b4
push eax
lea edx, [ebp - 0xf8]
push edx
call fcn.00499a44
add esp, 0xc
dec dword [ebp - 0x44]
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.004a4d84
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x70]
jge 0x415095
mov edx, dword [ebp - 0x6c]
add byte [ebp + edx - 0xf8], 0x29
inc dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x70]
jl 0x41507f
xor eax, eax
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jge 0x4150bd
mov cl, byte [ebp - 0x6c]
add cl, 0x8a
mov eax, dword [ebp - 0x6c]
xor byte [ebp + eax - 0xf8], cl
inc dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jl 0x4150a2
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x70]
jge 0x41510a
mov edx, dword [ebp - 0x6c]
movsx ecx, byte [ebp + edx - 0xf8]
sar ecx, 4
add cl, 0x30
mov eax, dword [ebp - 0x6c]
mov byte [ebp + eax*2 - 0x178], cl
mov edx, dword [ebp - 0x6c]
mov cl, byte [ebp + edx - 0xf8]
and cl, 0xf
add cl, 0x30
mov eax, dword [ebp - 0x6c]
mov byte [ebp + eax*2 - 0x177], cl
inc dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jl 0x4150ca
mov ecx, dword [ebp - 0x6c]
mov byte [ebp + ecx*2 - 0x178], 0
mov word [ebp - 0x50], 0x98
mov edx, 0x4ad1de
lea eax, [ebp - 0x34]
call fcn.004a4cc4
inc dword [ebp - 0x44]
lea edx, [ebp - 0x34]
lea eax, [ebp - 4]
call fcn.004a4db4
dec dword [ebp - 0x44]
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.004a4d84
mov word [ebp - 0x50], 0xa4
lea edx, [ebp - 0x178]
lea eax, [ebp - 0x38]
call fcn.004a4cc4
inc dword [ebp - 0x44]
lea edx, [ebp - 0x38]
lea eax, [ebp - 4]
call fcn.004a4dc8
dec dword [ebp - 0x44]
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004a4d84
mov edx, 0x4b466c
lea eax, [ebp - 4]
call fcn.004a4e80
test al, al
je 0x4151d0
push 0
lea eax, [ebp - 0x76]
call fcn.00403744
mov dl, 2
call fcn.00403778
mov cx, word [eax]
push ecx
mov word [ebp - 0x50], 0xb0
mov edx, str.Password_Error__Please_Enter_Password_Again_
lea eax, [ebp - 0x3c]
call fcn.004a4cc4
inc dword [ebp - 0x44]
mov eax, dword [eax]
mov dl, 1
pop ecx
call fcn.0046ca08
dec dword [ebp - 0x44]
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004a4d84
jmp 0x4151ef
mov eax, dword [sym.HID606.exe__Form_Password]
call fcn.00464068
mov edx, dword [sym.HID606.exe__Form1]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x3b4]
mov dl, 1
call fcn.0046a0a8
dec dword [ebp - 0x44]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004a4d84
mov ecx, dword [ebp - 0x60]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret