Function at 0x100256a1
Capabilities:
Set registry value

Disassembly:
mov eax, 0x1006110d
call fcn.1005fe44
sub esp, 0xb0
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
je 0x10025703
cmp byte [ebp + 0xc], 0
je 0x100256e4
push 0x1389
xor ebx, ebx
push ebx
push 0x2092
push 0x126d
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x10025cf4
mov dword [edx], 0
jmp 0x100256f9
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 0xfffffffd
inc dword [edx]
cmp dword [edx], 2
jl 0x100256ec
jmp 0x10025cf4
mov dword [ebp - 0x20], 0xd3b
xor ebx, ebx
cmp dword [ebp - 0x20], 0x1031
jle 0x1002573e
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x1007bfb8
cdq
push edx
push eax
call fcn.1000dd80
inc edi
cmp edi, 0x572d
jl 0x10025719
inc esi
cmp esi, 0xf76
jl 0x10025717
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x20], 0xb54
jge 0x10025759
mov edx, str.zmrfbrrzk_ieehkdv_bnxzf_mduw
mov ecx, 0x1007bfb8
call fcn.10010bec
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 8], 0
je 0x1002579d
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x10025cf4
push ebx
call dword [sym.imp.KERNEL32.dll_SetCommBreak]
jmp 0x10025cf4
mov esi, dword [ebp + 0x10]
lea ecx, [ebp + 0x17]
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x38], 0x9ac78948
mov byte [ebp + 0x17], bl
call fcn.10027fbf
push 0x8a5
push 0x6b6f
push ebx
mov edx, 0x552c
mov ecx, 0x1058
call fcn.10025fd8
xor edi, edi
mov dword [ebp - 0x38], 0xde2bbef7
add esp, 0xc
mov dword [ebp - 0x14], ebx
inc edi
jmp 0x100257ef
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0xfffffff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x100257e1
mov dword [ebp - 0x34], 0xfffffff3
jmp 0x1002582c
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x14], 0xd
jmp 0x10025811
call fcn.100265fa
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x16
je 0x10025809
push ecx
mov byte [ebp - 0x29], bl
lea edx, [ebp - 0x29]
mov ecx, 0x782e
call fcn.10024e52
dec dword [ebp - 0x34]
pop ecx
cmp dword [ebp - 0x34], 0xffffffee
jle 0x100257fd
movzx eax, word [esi]
mov dword [ebp - 0x48], eax
mov eax, 0xd2eb2fc2
mov dword [ebp - 0x14], 0x78144ad7
mov dword [ebp - 0x18], 0xedcc590f
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x30], 0x1827
cmp dword [ebp - 0x30], 0x1857
jle 0x100258c8
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
mov eax, esi
cdq
idiv ecx
lea ecx, [ebp - 0xbc]
mov eax, edx
cdq
push edx
push eax
call fcn.10001a9f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1002588d
mov eax, dword [eax]
push eax
call fcn.10047a23
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xbc]
call fcn.1000e875
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x5efc
jl 0x1002586e
inc esi
cmp esi, 0x37ba
jl 0x10025869
push ebx
push 0x50
push 0x218a
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov dword [ebp - 0x1c], 0xfffffffd
cmp dword [ebp - 0x30], 0x153a
jge 0x100258e3
push str.rklfn_eihwla_nfh_vsq
call fcn.10047a23
pop ecx
or dword [ebp - 4], 0xffffffff
mov ecx, 0xffff
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x20], 0x3923bfa4
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x18]
cmp dword [ebp - 0x14], eax
jl 0x1002592b
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], ecx
sbb eax, eax
inc eax
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov ecx, 0xcbaa
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x40], 0x1543f36f
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x18]
sub ecx, eax
je 0x10025951
mov eax, edi
cmp dword [ebp - 0x18], ebx
jne 0x10025953
mov eax, ebx
xor ecx, ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x1c]
sbb eax, eax
inc eax
cmp eax, 9
sbb eax, eax
xor edx, edx
neg eax
sub ecx, eax
mov eax, dword [ebp - 0x50]
cmp ecx, 0x672a
setge dl
xor ecx, ecx
sub edx, 0xe160
cmp eax, edx
setg cl
cmp ecx, dword [ebp - 0x5c]
jne 0x1002599c
push ebx
mov edx, 0x2d8c
mov ecx, 0x4f41
call fcn.10022812
pop ecx
jmp 0x10025aa0
push 4
pop esi
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x78]
push esi
call fcn.1000e06f
lea eax, [ebp - 0x78]
mov dword [ebp - 4], esi
push eax
push 0x5952
push ebx
lea edx, [ebp - 0x8c]
mov ecx, 0x5fd8
call fcn.10022d9d
add esp, 0xc
cmp dword [ebp - 0x1c], ebx
je 0x10025a78
push dword [ebp + 0x14]
movdqa xmm0, xmmword [0x1006e970]
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x20], 0x5443
push eax
push ebx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x6c], ebx
movdqu xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
call fcn.10011607
cmp dword [ebp - 0x58], ebx
jne 0x10025a50
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x14], eax
jg 0x10025a25
mov ecx, edi
cmp dword [ebp - 0x14], ebx
jne 0x10025a27
mov ecx, ebx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
imul eax, ecx
xor ecx, ecx
cmp eax, 0xfffffff7
setne cl
imul eax, ecx, 0x2550
add eax, 0xa766
cmp dword [ebp - 0x18], eax
jne 0x10025a4c
cmp dword [ebp - 0x14], ebx
jne 0x10025a50
mov edx, ebx
jmp 0x10025a52
mov edx, edi
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, edx
setg cl
sub ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x78]
mov dword [eax + 0xc], ecx
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], edi
call fcn.1000e145
jmp 0x10025a94
push 0x5d56
lea eax, [ebp - 0x40]
mov edx, 0x12a9
push eax
push ebx
mov ecx, 0x221c
call fcn.10022829
add esp, 0xc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x78]
call fcn.1000e145
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x44]
call fcn.100227fc
pop ecx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 0x860b4ffb
mov dword [ebp - 0x18], 0xfffffff7
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x60], 0xffffffff
mov dword [ebp - 0x3c], 0xa1434a93
mov dword [ebp - 0x38], 0xfa025ec5
mov dword [ebp - 0x1c], ebx
jmp 0x10025ae9
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], edi
jl 0x10025adb
mov dword [ebp - 0x14], ebx
jmp 0x10025aff
mov eax, dword [ebp - 0x14]
cmp dword [ebp + eax*4 - 0x4c], ebx
jne 0x10025b04
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10025af3
cmp dword [ebp - 0x18], ebx
jne 0x10025b0c
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x30]
cmp eax, 0xbc0d
mov eax, dword [ebp - 0x60]
setne cl
xor edx, edx
cmp ecx, eax
setne dl
sub edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
neg edx
mov eax, dword [ebp - 0x30]
sbb edx, edx
inc edx
sub ecx, edx
xor edx, edx
cmp ecx, eax
mov ecx, 0xd44c039e
setle dl
xor eax, eax
cmp edx, 2
setne al
cmp ecx, eax
sbb eax, eax
inc eax
cmp eax, dword [ebp - 0x4c]
je 0x10025b57
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov dl, 0x69
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x38]
imul eax, dword [ebp - 0x18], 0xd42a
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov cl, byte [eax + esi]
call fcn.1002d7ca
mov ecx, dword [ebp - 0x20]
mov byte [ecx + esi], al
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 2
jb 0x10025ab0
mov dword [ebp - 0x18], 0x9c1464f1
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x38], 0x6ed9
push 0xfffffffffffffffb
pop esi
mov dword [ebp - 0x88], esi
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], esi
mov dword [ebp - 0x7c], esi
mov dword [ebp - 0x3c], 0x89a98e57
mov dword [ebp - 0x14], ebx
jmp 0x10025bcd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x28], 0xcadd635
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10025bbf
mov dword [ebp - 0x14], ebx
jmp 0x10025be9
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x10025bd8
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
neg eax
test eax, eax
jg 0x10025c02
mov edx, edi
cmp dword [ebp - 0x18], ebx
jne 0x10025c04
mov edx, ebx
mov eax, dword [ebp - 0x18]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x18]
setg cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setl dl
xor ecx, ecx
cmp eax, edx
setge cl
xor eax, eax
cmp ecx, 0x4392f209
setg al
imul eax, dword [ebp - 0x18]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
imul eax, dword [ebp - 0x18]
cmp eax, 0x7fd1e814
jle 0x10025c4c
mov eax, ebx
cmp dword [ebp - 0x28], ebx
je 0x10025c4e
mov eax, edi
cmp esi, eax
sbb eax, eax
neg eax
mov dword [ebp - 0x18], eax
je 0x10025cb8
mov eax, dword [ebp - 0x24]
neg eax
jne 0x10025ca0
cmp dword [ebp - 0x28], ebx
jne 0x10025c68
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
xor edx, edx
neg eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
imul ecx, eax, 0xffff
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge dl
sub edx, eax
jne 0x10025c93
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov edx, ebx
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x28], edi
jle 0x10025ca2
mov edx, edi
mov eax, dword [ebp - 0x24]
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x1c]
jge 0x10025cb8
mov eax, ebx
cmp dword [ebp - 0x1c], ebx
jne 0x10025cba
mov eax, edi
mov edx, dword [ebp - 0x24]
xor ecx, ecx
imul edx, dword [ebp - 0x28]
imul edx, eax
mov eax, dword [ebp - 0x28]
cmp eax, edx
setne cl
mov dword [ebp - 0x28], ecx
cmp dword [ebp - 0x1c], edi
jge 0x10025cdb
cmp dword [ebp - 0x38], ebx
jne 0x10025cdd
mov edi, ebx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
cmp edi, eax
mov ax, word [ebp - 0x48]
sete cl
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp + 0x18]
mov word [ecx], ax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret