Function at 0x403300
Capabilities:
Set registry value

Disassembly:
sub esp, 0x428
mov eax, dword [0x434dc0]
xor eax, esp
mov dword [esp + 0x424], eax
push ebx
push ebp
push esi
push edi
push 0x1ff
lea eax, [esp + 0x39]
push 0
push eax
mov esi, ecx
mov byte [esp + 0x40], 0
call fcn.00416320
add esp, 0xc
push 1
push 0
push 0x3ec
mov ecx, esi
mov dword [0x4390d8], 0
call fcn.00406c82
lea ecx, [eax - 1]
cmp ecx, 0xfffe
ja 0x40335d
mov dword [0x4390d8], eax
push 0x200
lea edx, [esp + 0x38]
push edx
push 0x401
mov ecx, esi
call fcn.00406cac
mov ebx, 0x20
mov ebp, 0x4390dc
lea eax, [esp + 0x34]
cmp byte [esp + 0x34], bl
jne 0x40338c
inc eax
cmp byte [eax], bl
je 0x403387
mov edx, eax
lea eax, [esp + 0x34]
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403395
sub eax, edi
cmp byte [esp + eax + 0x33], bl
lea eax, [esp + eax + 0x33]
jne 0x4033ad
dec eax
cmp byte [eax], bl
je 0x4033a8
cmp edx, eax
ja 0x4033cb
sub eax, edx
inc eax
mov edi, eax
push edi
push edx
push 0x4390dc
call fcn.0041ba10
add esp, 0xc
lea ebp, [edi + 0x4390dc]
push 0x3ed
mov ecx, esi
mov byte [ebp], 0
call fcn.00406d2d
mov dword [0x43911c], eax
push 0x200
lea eax, [esp + 0x38]
push eax
push 0x3f0
mov ecx, esi
call fcn.00406cac
mov edi, 0x439120
lea eax, [esp + 0x34]
cmp byte [esp + 0x34], bl
jne 0x40340a
inc eax
cmp byte [eax], bl
je 0x403405
mov edx, eax
lea eax, [esp + 0x34]
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403413
sub eax, ebp
cmp byte [esp + eax + 0x33], bl
lea eax, [esp + eax + 0x33]
jne 0x40342b
dec eax
cmp byte [eax], bl
je 0x403426
cmp edx, eax
ja 0x403449
sub eax, edx
inc eax
mov edi, eax
push edi
push edx
push 0x439120
call fcn.0041ba10
add esp, 0xc
lea edi, [edi + 0x439120]
push 0x200
lea ecx, [esp + 0x38]
push ecx
push 0x3f1
mov ecx, esi
mov byte [edi], 0
call fcn.00406cac
mov edi, 0x439160
lea eax, [esp + 0x34]
cmp byte [esp + 0x34], bl
jne 0x403476
inc eax
cmp byte [eax], bl
je 0x403471
mov edx, eax
lea eax, [esp + 0x34]
lea ebp, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403480
sub eax, ebp
cmp byte [esp + eax + 0x33], bl
lea eax, [esp + eax + 0x33]
jne 0x403498
dec eax
cmp byte [eax], bl
je 0x403493
cmp edx, eax
ja 0x4034b6
sub eax, edx
inc eax
mov edi, eax
push edi
push edx
push 0x439160
call fcn.0041ba10
add esp, 0xc
lea edi, [edi + 0x439160]
push 0x200
lea edx, [esp + 0x38]
push edx
push 0x3f2
mov ecx, esi
mov byte [edi], 0
call fcn.00406cac
mov edi, 0x4391a0
lea eax, [esp + 0x34]
cmp byte [esp + 0x34], bl
jne 0x4034e5
mov edi, edi
inc eax
cmp byte [eax], bl
je 0x4034e0
mov edx, eax
lea eax, [esp + 0x34]
lea ebp, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4034f0
sub eax, ebp
cmp byte [esp + eax + 0x33], bl
lea eax, [esp + eax + 0x33]
jne 0x403508
dec eax
cmp byte [eax], bl
je 0x403503
cmp edx, eax
ja 0x403526
sub eax, edx
inc eax
mov edi, eax
push edi
push edx
push 0x4391a0
call fcn.0041ba10
add esp, 0xc
lea edi, [edi + 0x4391a0]
push 0x3f3
mov ecx, esi
mov byte [edi], 0
call fcn.00406d2d
push 0x3f4
mov ecx, esi
mov dword [0x4391e4], eax
call fcn.00406d2d
push 0x407
mov ecx, esi
mov dword [0x4391e8], eax
call fcn.00406d2d
push 1
xor ebp, ebp
push ebp
push 0x3f8
mov ecx, esi
mov dword [0x4391ec], eax
call fcn.00406c82
cmp eax, 0x200
jge 0x40357b
mov eax, 0x200
jmp 0x403587
cmp eax, 0x2000
jle 0x403587
mov eax, 0x2000
mov edi, 0x18
push 0x3f5
mov ecx, esi
mov dword [0x4391f8], eax
mov dword [0x4391f0], edi
call fcn.00406d2d
cmp eax, 1
je 0x4035ce
push 0x3f7
mov ecx, esi
call fcn.00406d2d
cmp eax, 1
jne 0x4035c1
mov dword [0x4391f0], ebx
jmp 0x4035d4
mov eax, dword [0x4391f0]
cmp eax, edi
je 0x4035d4
cmp eax, ebx
je 0x4035d4
mov dword [0x4391f0], edi
push 1
push ebp
push 0x40e
mov ecx, esi
call fcn.00406c82
cmp eax, ebp
jge 0x4035eb
xor eax, eax
jmp 0x4035f7
cmp eax, 0x3e8
jle 0x4035f7
mov eax, 0x3e8
push 1
push ebp
push 0x40f
mov ecx, esi
mov dword [0x439200], eax
call fcn.00406c82
mov ecx, dword [0x439200]
cmp eax, ecx
jge 0x403617
mov eax, ecx
cmp eax, 0x3e8
jle 0x403623
mov eax, 0x3e8
push 0x3fd
mov ecx, esi
mov dword [0x4391fc], eax
call fcn.00406d2d
push 0x40a
mov ecx, esi
mov dword [0x4391e0], eax
mov dword [0x439204], ebp
call fcn.00406d2d
cmp eax, 1
jne 0x403658
mov dword [0x439204], ebp
jmp 0x40366e
push 0x40b
mov ecx, esi
call fcn.00406d2d
cmp eax, 1
jne 0x40366e
mov dword [0x439204], eax
mov eax, dword [0x439200]
push 0
push eax
push 0x40e
mov ecx, esi
call fcn.00406cd6
mov ecx, dword [0x4391fc]
push 0
push ecx
push 0x40f
mov ecx, esi
call fcn.00406cd6
mov edx, dword [0x4391f8]
push 0
push edx
push 0x3f8
mov ecx, esi
call fcn.00406cd6
push 0x1ff
lea eax, [esp + 0x239]
push 0
push eax
or ebp, 0xffffffff
mov dword [esp + 0x20], 0
mov byte [esp + 0x240], 0
call fcn.00416320
add esp, 0xc
mov ecx, 7
mov esi, str.SOFTWAREShareBit_rmtserver
lea edi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x14]
push ecx
push 0xf003f
push 0
lea edx, [esp + 0x24]
push edx
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov esi, eax
cmp esi, 2
jne 0x40372f
push 0
lea eax, [esp + 0x18]
push eax
push 0
push 0xf003f
push 0
push 0
push 0
lea ecx, [esp + 0x34]
push ecx
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov esi, eax
test esi, esi
jne 0x403a10
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4390d8]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push str.localport
push ecx
mov dword [esp + 0x28], edx
call esi
push 0x4390dc
lea edx, [esp + 0x238]
push 0x200
push edx
call fcn.0041450f
lea eax, [esp + 0x240]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403781
sub eax, ecx
mov ecx, dword [esp + 0x14]
inc eax
push eax
lea eax, [esp + 0x238]
push eax
push 1
push 0
push str.localkey
push ecx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x43911c]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.p2penable
push ecx
mov dword [esp + 0x28], edx
call esi
push 0x439120
lea edx, [esp + 0x238]
push 0x200
push edx
call fcn.0041450f
lea eax, [esp + 0x240]
add esp, 0xc
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4037f0
sub eax, ecx
mov ecx, dword [esp + 0x14]
inc eax
push eax
lea eax, [esp + 0x238]
push eax
push 1
push 0
push str.p2pname
push ecx
call esi
push 0x439160
lea edx, [esp + 0x238]
push 0x200
push edx
call fcn.0041450f
lea eax, [esp + 0x240]
add esp, 0xc
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403837
sub eax, ecx
mov ecx, dword [esp + 0x14]
inc eax
push eax
lea eax, [esp + 0x238]
push eax
push 1
push 0
push str.p2pkey
push ecx
call esi
push 0x4391a0
lea edx, [esp + 0x238]
push 0x200
push edx
call fcn.0041450f
lea eax, [esp + 0x240]
add esp, 0xc
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x403880
sub eax, ecx
mov ecx, dword [esp + 0x14]
inc eax
push eax
lea eax, [esp + 0x238]
push eax
push 1
push 0
push str.p2psn
push ecx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391e0]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.cvenable
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391e4]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.mouseenable
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391e8]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.keyboardenable
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391ec]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.audioclient
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391f0]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.bitsperpixel
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391f4]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.forcebitblt
push ecx
mov dword [esp + 0x28], edx
call esi
mov edx, dword [0x4391f8]
mov dword [esp + 0x10], edx
push 4
lea eax, [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
push 4
push 0
push str.abrbitrate
push ecx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x439200]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.minsleep
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x4391fc]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.maxsleep
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x439208]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.disablegpu
push ecx
mov dword [esp + 0x28], edx
call esi
mov ecx, dword [esp + 0x14]
mov edx, dword [0x439204]
push 4
lea eax, [esp + 0x14]
push eax
push 4
push 0
push str.encoder
push ecx
mov dword [esp + 0x28], edx
call esi
mov esi, eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x403a1f
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x403a25
xor ebp, ebp
push 0x1ff
lea edx, [esp + 0x239]
push 0
push edx
mov byte [esp + 0x240], 0
call fcn.00416320
push str.rmtserver.ini
push 0x4388d8
push str._s_s
lea edx, [esp + 0x24c]
call fcn.00404770
lea eax, [esp + 0x24c]
push 0x42e954
push eax
call fcn.0041463b
add esp, 0x20
test eax, eax
jne 0x403a84
cmp dword [0x4388cc], eax
jne 0x403a84
mov eax, ebp
jmp 0x403c52
push eax
call fcn.004146c9
add esp, 4
call fcn.00404f90
mov esi, eax
test esi, esi
je 0x403aba
lea ecx, [esp + 0x234]
push 0x42e958
push ecx
call fcn.0041463b
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x403ac2
mov ebx, esi
call fcn.00405040
or eax, 0xffffffff
jmp 0x403c52
push 0
push str.localinfo
push esi
call fcn.00405190
mov edx, dword [0x4390d8]
push edx
mov edi, str.localinfo:localport
call fcn.00406090
push 0x4390dc
push str.localinfo:localkey
push esi
call fcn.00405190
push 0
push str.p2pinfo
push esi
call fcn.00405190
mov eax, dword [0x43911c]
push eax
mov edi, str.p2pinfo:enable
call fcn.00406090
push 0x439120
push str.p2pinfo:p2pname
push esi
call fcn.00405190
push 0x439160
push str.p2pinfo:p2pkey
push esi
call fcn.00405190
add esp, 0x44
push 0x4391a0
push str.p2pinfo:p2psn
push esi
call fcn.00405190
push 0
push str.privilege
push esi
call fcn.00405190
mov ecx, dword [0x4391e0]
push ecx
mov edi, str.privilege:cvenable
call fcn.00406090
mov edx, dword [0x4391e4]
push edx
mov edi, str.privilege:mouseenable
call fcn.00406090
mov eax, dword [0x4391e8]
push eax
mov edi, str.privilege:keyboardenable
call fcn.00406090
mov ecx, dword [0x4391ec]
push ecx
mov edi, str.privilege:audioclient
call fcn.00406090
push 0
push str.screen
push esi
call fcn.00405190
mov edx, dword [0x4391f0]
push edx
mov edi, str.screen:bitsperpixel
call fcn.00406090
mov eax, dword [0x4391f8]
push eax
mov edi, str.screen:abrbitrate
call fcn.00406090
mov ecx, dword [0x439200]
push ecx
mov edi, str.screen:minsleep
call fcn.00406090
mov edx, dword [0x4391fc]
add esp, 0x40
push edx
mov edi, str.screen:maxsleep
call fcn.00406090
mov ebx, 1
add esp, 4
cmp dword [0x4391f4], ebx
jne 0x403c01
push ebx
mov edi, str.screen:forcebitblt
call fcn.00406090
add esp, 4
push 0
push str.encoder
push esi
call fcn.00405190
mov eax, dword [0x439204]
push eax
mov edi, str.encoder:encoder
call fcn.00406090
add esp, 0x10
cmp dword [0x439208], ebx
jne 0x403c37
push ebx
mov edi, str.encoder:disablegpu
call fcn.00406090
add esp, 4
mov eax, ebp
mov ecx, esi
call fcn.00405610
mov ebx, esi
call fcn.00405040
push ebp
call fcn.004146c9
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x434]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00413f05
add esp, 0x428
ret