Function at 0x4228e2
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
mov eax, dword [0x45b170]
xor eax, esp
mov dword [esp + 0x200], eax
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
push 0xff
lea eax, [esp + 0x10d]
push ebx
push eax
mov dword [edi], vtable.DlgMain.4.0
mov dword [edi + 0xd], vtable.DlgMain.3.0
mov dword [edi + 0x1d], vtable.DlgMain.2.0
mov dword [edi + 0x21], vtable.DlgMain.1.0
mov dword [edi + 0x25], vtable.DlgMain.0
mov byte [esp + 0x114], bl
call fcn.0043b860
add esp, 0xc
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push ebx
push 6
push ebx
push ebx
push ebx
xor esi, esi
push str.SoftwareConfigD
inc esi
push 0x80000001
mov dword [esp + 0x38], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x422a3d
mov ecx, dword [edi + 0x4ab]
add ecx, 0x305
mov eax, dword [ecx]
call dword [eax + 4]
push eax
lea eax, [esp + 0x10c]
push 0x4540e8
push eax
call fcn.00437a65
add esp, 0xc
mov ebx, 0x100
push ebx
lea eax, [esp + 0x10c]
push eax
push esi
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0
push str.Port
push dword [esp + 0x24]
call esi
mov ecx, dword [edi + 0x4af]
add ecx, 0x305
mov eax, dword [ecx]
call dword [eax + 4]
push eax
lea eax, [esp + 0x10c]
push 0x4540e8
push eax
call fcn.00437a65
add esp, 0xc
lea eax, [esp + 0x108]
push ebx
push eax
push 1
push 0
push str.Baud
push dword [esp + 0x24]
call esi
xor eax, eax
cmp byte [edi + 0x34e], al
setne al
push eax
lea eax, [esp + 0x10c]
push 0x4540e8
push eax
call fcn.00437a65
add esp, 0xc
lea eax, [esp + 0x108]
push ebx
push eax
push 1
xor ebx, ebx
push ebx
push str.Chinese
push dword [esp + 0x24]
call esi
push dword [esp + 0x10]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push 0x47
lea eax, [esp + 0xc5]
push ebx
push eax
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x34], ebx
mov byte [esp + 0x24], bl
mov byte [esp + 0xcc], bl
call fcn.0043b860
add esp, 0xc
lea ecx, [esp + 0xc0]
push 9
lea edx, [edi + 0x357]
pop esi
cmp byte [edx], 0
setne al
add al, 0x30
inc edx
mov byte [ecx], al
inc ecx
dec esi
jne 0x422a77
push 3
pop esi
lea ecx, [esp + 0xc9]
lea edx, [edi + 0x360]
mov ebx, esi
cmp byte [edx], 0
setne al
add al, 0x30
inc edx
mov byte [ecx], al
inc ecx
dec ebx
jne 0x422a98
lea ecx, [esp + 0xcc]
lea edx, [edi + 0x363]
cmp byte [edx], 0
setne al
add al, 0x30
inc edx
mov byte [ecx], al
inc ecx
dec esi
jne 0x422ab4
mov al, byte [edi + 0x3b6]
add al, 0x2f
mov byte [esp + 0xcf], al
lea eax, [esp + 0xc0]
push eax
call fcn.0042a4ca
pop ecx
push eax
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x20]
call fcn.004297a5
push 0xa
lea esi, [edi + 0x366]
pop ebx
movsd xmm0, qword [esi]
mulsd xmm0, qword [0x455ab0]
subsd xmm0, qword [0x455ac0]
cvttsd2si eax, xmm0
push eax
lea eax, [esp + 0xc4]
push str._05d
push eax
call fcn.00437a65
lea eax, [esp + 0xcc]
push eax
call fcn.0042a4ca
add esp, 0x10
lea ecx, [esp + 0x18]
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.004297a5
add esi, 8
dec ebx
jne 0x422afb
cmp dword [esp + 0x2c], 0x10
lea ecx, [esp + 0x18]
cmovae ecx, dword [esp + 0x18]
xor eax, eax
cmp byte [edi + 0x3be], al
push 0x30
setne al
pop edx
add eax, edx
push eax
xor eax, eax
cmp byte [edi + 0x3bd], al
setne al
add eax, edx
push eax
xor eax, eax
cmp byte [edi + 0x3bc], al
setne al
add eax, edx
push eax
xor eax, eax
cmp byte [edi + 0x3bb], al
setne al
add eax, edx
push eax
xor eax, eax
cmp byte [edi + 0x3ba], al
setne al
add eax, edx
push eax
push ecx
lea eax, [esp + 0xd8]
push str._s_c_c_c_c_c
push eax
call fcn.00437a65
add esp, 0x20
lea eax, [esp + 0xc0]
push eax
call fcn.00422c60
push ecx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x80]
call fcn.00415e3f
mov ecx, eax
call fcn.00434eb2
push 0x454104
push dword [eax]
call fcn.00437c58
pop ecx
pop ecx
lea ecx, [esp + 0x30]
mov esi, eax
call fcn.00434d18
lea ecx, [esp + 0x78]
call fcn.00434d18
lea eax, [esp + 0xc0]
push esi
push eax
call fcn.00438231
push esi
call fcn.004381ba
add esp, 0xc
lea ecx, [esp + 0x18]
call fcn.004294f8
lea ecx, [edi + 0x4e7]
call fcn.0042cec8
lea ecx, [edi + 0x346]
call fcn.00429762
lea ecx, [edi + 0x320]
call fcn.004294f8
mov ecx, edi
call fcn.0042a4e7
mov ecx, dword [esp + 0x20c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004363cf
mov esp, ebp
pop ebp
ret