Function at 0x40e230
Capabilities:
Set registry value

Disassembly:
mov eax, 0x1218
call fcn.0041f670
mov eax, dword [0x42f560]
xor eax, esp
mov dword [esp + 0x1214], eax
mov eax, dword [esp + 0x121c]
push ebx
push ebp
push esi
xor ebx, ebx
push str.rt__ccsUTF_16LE
push eax
xor esi, esi
mov dword [esp + 0x14], ebx
xor ebp, ebp
mov dword [esp + 0x1c], ebx
call fcn.00419e86
add esp, 8
mov dword [esp + 0x10], eax
cmp eax, ebx
je 0x40e7c9
push eax
lea edx, [esp + 0x224]
xor ecx, ecx
push 0x800
push edx
mov word [esp + 0x22c], cx
call fcn.00419e9d
mov si, word [esp + 0x22c]
add esp, 0xc
cmp si, bx
je 0x40e7aa
push edi
lea esp, [esp]
xor ecx, ecx
cmp si, bx
je 0x40e774
lea eax, [esp + 0x224]
movzx eax, word [eax]
cmp ax, 0xd
je 0x40e2e5
cmp ax, 0xa
je 0x40e2e5
inc ecx
cmp word [esp + ecx*2 + 0x224], bx
lea eax, [esp + ecx*2 + 0x224]
jne 0x40e2c2
jmp 0x40e2f7
xor eax, eax
mov word [esp + ecx*2 + 0x224], ax
mov si, word [esp + 0x224]
cmp si, bx
je 0x40e774
mov ecx, str.REGEDIT4
lea eax, [esp + 0x224]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40e336
cmp dx, bx
je 0x40e332
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40e336
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x40e310
xor eax, eax
jmp 0x40e33b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x40e774
mov ecx, 0x5b
cmp cx, si
jne 0x40e381
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x40e360
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x10], ebx
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x22a]
call fcn.0040e1a0
add esp, 4
test eax, eax
je 0x40e7a9
jmp 0x40e774
mov eax, 0x22
cmp ax, si
je 0x40e399
mov ecx, 0x40
cmp cx, si
jne 0x40e774
cmp dword [esp + 0x10], ebx
je 0x40e7a9
mov edx, 0x40
cmp dx, si
lea esi, [edx - 0x3f]
jne 0x40e3b9
xor eax, eax
mov word [esp + 0x1c], ax
jmp 0x40e3f8
xor ecx, ecx
cmp word [esp + 0x226], bx
je 0x40e3f0
lea eax, [esp + 0x226]
lea esp, [esp]
movzx eax, word [eax]
mov edx, 0x22
cmp dx, ax
je 0x40e3f0
inc esi
mov word [esp + ecx*2 + 0x1c], ax
lea eax, [esp + esi*2 + 0x224]
inc ecx
cmp word [eax], bx
jne 0x40e3d0
xor eax, eax
mov word [esp + ecx*2 + 0x1c], ax
inc esi
mov ecx, 0x3d
cmp cx, word [esp + esi*2 + 0x224]
jne 0x40e7a9
push 6
inc esi
lea edi, [esp + esi*2 + 0x228]
push 0x42b124
push edi
call fcn.00425076
add esp, 0xc
test eax, eax
jne 0x40e457
push 0x10
lea edx, [esp + esi*2 + 0x234]
push ebx
push edx
call fcn.00419d94
mov edx, dword [esp + 0x1c]
add esp, 0xc
push 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
push 4
push ebx
lea ecx, [esp + 0x2c]
push ecx
push edx
jmp 0x40e76a
push 4
push 0x42b134
push edi
call fcn.00425076
add esp, 0xc
test eax, eax
jne 0x40e5a2
add esi, 4
cmp ebp, ebx
jne 0x40e48d
push 0x2000
call fcn.00416def
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x40e7a9
lea ecx, [esp + esi*2 + 0x224]
xor edi, edi
cmp word [ecx], bx
je 0x40e599
nop
movzx edx, word [ecx]
cmp dx, 0x30
jb 0x40e4af
cmp dx, 0x39
jbe 0x40e4c7
cmp dx, 0x41
jb 0x40e4bb
cmp dx, 0x46
jbe 0x40e4c7
cmp dx, 0x61
jb 0x40e508
cmp dx, 0x66
ja 0x40e508
movzx eax, word [esp + esi*2 + 0x226]
cmp ax, 0x30
jb 0x40e4db
cmp ax, 0x39
jbe 0x40e4f3
cmp ax, 0x41
jb 0x40e4e7
cmp ax, 0x46
jbe 0x40e4f3
cmp ax, 0x61
jb 0x40e508
cmp ax, 0x66
ja 0x40e508
push 0x10
push ebx
push ecx
call fcn.00419d94
mov byte [edi + ebp], al
add esp, 0xc
inc edi
add esi, 2
jmp 0x40e584
mov eax, 0x5c
cmp ax, dx
jne 0x40e583
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x228]
xor ecx, ecx
push 0x800
push eax
mov word [esp + 0x230], cx
call fcn.00419e9d
add esp, 0xc
cmp word [esp + 0x224], bx
je 0x40e599
xor ecx, ecx
lea eax, [esp + 0x224]
lea esp, [esp]
movzx eax, word [eax]
cmp ax, 0xd
je 0x40e575
cmp ax, 0xa
je 0x40e575
inc ecx
cmp word [esp + ecx*2 + 0x224], bx
lea eax, [esp + ecx*2 + 0x224]
jne 0x40e550
xor esi, esi
jmp 0x40e584
xor edx, edx
mov word [esp + ecx*2 + 0x224], dx
xor esi, esi
jmp 0x40e584
inc esi
cmp word [esp + esi*2 + 0x224], bx
lea ecx, [esp + esi*2 + 0x224]
jne 0x40e4a0
push edi
push ebp
push 3
jmp 0x40e75f
push 7
push str.hex_7_:
push edi
call fcn.00425076
add esp, 0xc
test eax, eax
jne 0x40e6ef
add esi, 7
cmp ebp, ebx
jne 0x40e5d8
push 0x2000
call fcn.00416def
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x40e7a9
lea ecx, [esp + esi*2 + 0x224]
xor edi, edi
cmp word [ecx], bx
je 0x40e6e9
lea ebx, [ebx]
movzx edx, word [ecx]
cmp dx, 0x30
jb 0x40e5ff
cmp dx, 0x39
jbe 0x40e617
cmp dx, 0x41
jb 0x40e60b
cmp dx, 0x46
jbe 0x40e617
cmp dx, 0x61
jb 0x40e658
cmp dx, 0x66
ja 0x40e658
movzx eax, word [esp + esi*2 + 0x226]
cmp ax, 0x30
jb 0x40e62b
cmp ax, 0x39
jbe 0x40e643
cmp ax, 0x41
jb 0x40e637
cmp ax, 0x46
jbe 0x40e643
cmp ax, 0x61
jb 0x40e658
cmp ax, 0x66
ja 0x40e658
push 0x10
push ebx
push ecx
call fcn.00419d94
mov byte [edi + ebp], al
add esp, 0xc
inc edi
add esi, 2
jmp 0x40e6d4
mov eax, 0x5c
cmp ax, dx
jne 0x40e6d3
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x228]
xor ecx, ecx
push 0x800
push eax
mov word [esp + 0x230], cx
call fcn.00419e9d
add esp, 0xc
cmp word [esp + 0x224], bx
je 0x40e6e9
xor ecx, ecx
lea eax, [esp + 0x224]
lea esp, [esp]
movzx eax, word [eax]
cmp ax, 0xd
je 0x40e6c5
cmp ax, 0xa
je 0x40e6c5
inc ecx
cmp word [esp + ecx*2 + 0x224], bx
lea eax, [esp + ecx*2 + 0x224]
jne 0x40e6a0
xor esi, esi
jmp 0x40e6d4
xor edx, edx
mov word [esp + ecx*2 + 0x224], dx
xor esi, esi
jmp 0x40e6d4
inc esi
cmp word [esp + esi*2 + 0x224], bx
lea ecx, [esp + esi*2 + 0x224]
jne 0x40e5f0
push edi
push ebp
push 7
jmp 0x40e75f
mov edx, 0x22
cmp dx, word [edi]
jne 0x40e774
inc esi
lea eax, [esp + esi*2 + 0x224]
xor ecx, ecx
cmp word [eax], bx
je 0x40e746
lea esi, [esp + esi*2 + 0x226]
nop
movzx edx, word [eax]
mov edi, 0x22
cmp di, dx
je 0x40e746
mov word [esp + ecx*2 + 0x224], dx
mov edx, 0x5c
cmp dx, word [eax]
jne 0x40e73a
cmp dx, word [esi]
jne 0x40e73a
add esi, 2
add eax, 2
add eax, 2
inc ecx
add esi, 2
cmp word [eax], bx
jne 0x40e710
xor eax, eax
mov word [esp + ecx*2 + 0x224], ax
lea ecx, [ecx + ecx + 2]
push ecx
lea edx, [esp + 0x228]
push edx
push 1
mov ecx, dword [esp + 0x1c]
push ebx
lea eax, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x40e7a9
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x228]
xor edx, edx
push 0x800
push ecx
mov word [esp + 0x230], dx
call fcn.00419e9d
mov si, word [esp + 0x230]
add esp, 0xc
cmp si, bx
jne 0x40e2b0
pop edi
mov esi, 1
cmp ebp, ebx
je 0x40e7bc
push ebp
call fcn.00416ce5
add esp, 4
mov edx, dword [esp + 0x10]
push edx
call fcn.0041996d
add esp, 4
mov ecx, dword [esp + 0x1220]
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00416a72
add esp, 0x1218
ret