Function at 0x49b1fc
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x3c
push ebx
push ebp
push esi
push edi
mov edi, ecx
call fcn.004e20cc
or dword [edi + 0xa4], 0xffffffff
lea ebx, [edi + 0x2800]
mov eax, dword [esp + 0x54]
xor ecx, ecx
mov ebp, dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [edi], 0x55a4ec
mov dword [edi + 0xa0], ecx
mov dword [edi + 0xac], ecx
mov dword [edi + 0xb0], ecx
mov dword [edi + 0xb4], ecx
mov byte [edi + 0x27f8], cl
mov dword [edi + 0x27fc], eax
push 0xd5e6fb
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov dword [0x5f1fe8], edi
call ebp
mov dword [edi + 0x27d0], eax
call fcn.00435829
push str.back_contacts
call fcn.004d6e15
mov eax, dword [eax]
mov dword [edi + 0x27d4], eax
call fcn.00435829
push str.back_contacts_edit
call fcn.004d6e15
push 0xf5edd8
mov eax, dword [eax]
mov dword [edi + 0x27e0], eax
call ebp
push 0xffffff
mov dword [esp + 0x28], eax
mov dword [edi + 0x27e4], eax
call ebp
mov esi, dword [sym.imp.GDI32.dll_CreateFontW]
mov ebp, str.Arial
push ebp
push 2
mov dword [edi + 0x27d8], eax
xor eax, eax
push eax
push eax
push 8
push 1
push eax
push eax
push eax
push 0x2bc
push eax
push eax
push eax
push 0x10
call esi
push ebp
push 2
mov dword [edi + 0x27ec], eax
mov ebp, 0x190
xor eax, eax
push eax
push eax
push 8
push 1
push eax
push eax
push eax
push ebp
push eax
push eax
push eax
push 0x10
call esi
push str.Arial
mov dword [edi + 0x27f0], eax
push 2
xor eax, eax
push eax
push eax
push 8
push 1
push eax
push 1
push eax
push ebp
xor ebp, ebp
push ebp
push ebp
push ebp
push 0x10
call esi
mov dword [edi + 0x27f4], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push ebp
push 0xf003f
push ebp
push ebp
push ebp
push 0x5584a8
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x49b3cf
cmp dword [esp + 0x14], 2
jne 0x49b3cf
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x58], 4
push eax
push ebp
push ebp
push str.contactsWindowPos
push dword [esp + 0x24]
call esi
test eax, eax
jne 0x49b395
mov ecx, dword [esp + 0x18]
movsx eax, cx
shr ecx, 0x10
mov dword [0x5f1fe0], eax
movsx eax, cx
mov dword [0x5f1fe4], eax
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 4
push eax
lea eax, [esp + 0x24]
push eax
push ebp
push ebp
push str.contactsWindowSize
push dword [esp + 0x24]
call esi
test eax, eax
jne 0x49b3cf
mov ecx, dword [esp + 0x20]
movsx eax, cx
shr ecx, 0x10
mov dword [0x56cbe8], eax
movsx eax, cx
mov dword [0x56cbe4], eax
push ebp
lea eax, [esp + 0x2c]
push eax
push ebp
push 0x30
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
sub edx, dword [esp + 0x2c]
sub ebp, dword [esp + 0x28]
mov esi, dword [0x5f1fe0]
mov dword [esp + 0x54], edx
test esi, esi
je 0x49b420
mov eax, dword [0x56cbe8]
add eax, esi
cmp eax, ebp
jg 0x49b420
test esi, esi
js 0x49b420
mov ecx, dword [0x56cbe4]
mov eax, dword [0x5f1fe4]
add ecx, eax
cmp ecx, edx
jg 0x49b420
test eax, eax
jns 0x49b459
mov eax, dword [0x56cbe8]
cdq
sub eax, edx
mov ecx, eax
mov eax, ebp
cdq
sub eax, edx
sar ecx, 1
mov esi, eax
mov eax, dword [0x56cbe4]
cdq
sub eax, edx
sar esi, 1
sub esi, ecx
mov ecx, eax
mov eax, dword [esp + 0x54]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub eax, ecx
mov dword [0x5f1fe0], esi
mov dword [0x5f1fe4], eax
mov ebp, dword [esp + 0x50]
xor ebx, ebx
push ebx
push ebx
push eax
push esi
push str.back_contacts_header
push ebx
push str.contacts_title
push dword [edi + 0x27fc]
mov ecx, edi
push ebp
push 0xcf0000
call fcn.004e2376
mov ecx, dword [0x56cbe4]
cmp dword [0x56cbec], ecx
push 0x40
cmovl ecx, dword [0x56cbec]
push ecx
mov ecx, dword [0x56cbe8]
cmp dword [0x56cbf0], ecx
cmovl ecx, dword [0x56cbf0]
push ecx
push dword [0x5f1fe4]
push dword [0x5f1fe0]
push ebx
push dword [edi + 0x10]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x40
call fcn.004ed632
push 0xa
pop ecx
push 0x22
pop ebx
push ecx
mov edx, str.contacts_btn_add
mov dword [esp + 0x40], ecx
push edx
push dword [edi + 0x27ec]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x48]
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004e40db
lea esi, [edi + 0x4c]
mov dword [edi + 0x6c], eax
push eax
mov ecx, esi
call fcn.004e4ab3
push 0x40
call fcn.004ed632
push ecx
mov edx, str.contacts_btn_edit
mov dword [esp + 0x40], 0x30
push edx
push dword [edi + 0x27ec]
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], 0xa
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x70], eax
call fcn.004e4ab3
push 0x40
call fcn.004ed632
mov dword [esp + 0x3c], 0x55
mov dword [esp + 0x40], 0xa
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
push ecx
mov edx, str.contacts_btn_delete
lea ecx, [esp + 0x40]
push edx
push dword [edi + 0x27ec]
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x74], eax
call fcn.004e4ab3
push 0x40
call fcn.004ed632
push ecx
mov edx, str.contacts_btn_refresh
mov dword [esp + 0x40], 0x85
push edx
push dword [edi + 0x27ec]
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], 0xa
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x80], eax
call fcn.004e4ab3
push 0x40
call fcn.004ed632
push ecx
mov edx, str.contacts_btn_folder
mov dword [esp + 0x40], 0xaa
push edx
push dword [edi + 0x27ec]
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], 0xa
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x78], eax
call fcn.004e4ab3
push 0x40
call fcn.004ed632
push ecx
mov edx, str.contacts_btn_home_folder
mov dword [esp + 0x40], 0xcf
push edx
push dword [edi + 0x27ec]
lea ecx, [esp + 0x48]
mov dword [esp + 0x4c], 0xa
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x84], eax
call fcn.004e4ab3
push 0x40
call fcn.004ed632
mov dword [esp + 0x3c], 0xf4
push ecx
mov edx, str.contacts_btn_save
mov dword [esp + 0x44], 0xa
push edx
push dword [edi + 0x27ec]
lea ecx, [esp + 0x48]
mov dword [esp + 0x50], ebx
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x64], ebx
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x88], eax
call fcn.004e4ab3
push 0x40
call fcn.004ed632
push 0x19
pop ecx
push ecx
mov edx, str.contacts_btn_find_next
mov dword [esp + 0x48], ecx
push edx
push dword [edi + 0x27ec]
mov dword [esp + 0x54], ecx
lea ecx, [esp + 0x48]
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x58], 0xbe
mov dword [esp + 0x5c], 0x50
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x7c], eax
call fcn.004e4ab3
push 0x14
pop eax
mov dword [esp + 0x38], eax
xor esi, esi
mov dword [esp + 0x44], eax
lea eax, [edi + 0x182c]
mov dword [esp + 0x40], 0x15e
mov dword [esp + 0x54], eax
push 0x44
call fcn.004ed632
mov ecx, dword [0x556370]
push 0
push 0
push dword [edi + 0x27f0]
add ecx, esi
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x48]
push ecx
push 0x54ddd9
push ebp
push dword [edi + 0x10]
mov ecx, eax
call fcn.004e3fd3
mov ecx, dword [esp + 0x54]
push eax
mov dword [ecx], eax
lea ecx, [edi + 0x4c]
call fcn.004e4ab3
add dword [esp + 0x54], 4
add esi, 0x14
cmp esi, 0x2710
jb 0x49b72d
push 0x44
call fcn.004ed632
push 0xffffff
push 0
push dword [edi + 0x27f0]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0xc
push ecx
push 0x54ddd9
push ebp
push dword [edi + 0x10]
mov ebx, 0x12c
mov dword [esp + 0x5c], 0x2f
mov ecx, eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 0x13
call fcn.004e3fd3
lea esi, [edi + 0x4c]
mov dword [edi + 0xb8], eax
push eax
mov ecx, esi
call fcn.004e4ab3
push 0xe0a900
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [edi + 0xb8]
push 0x40
mov dword [ecx + 4], eax
call fcn.004ed632
push 0x13
mov dword [esp + 0x48], ebx
mov edx, str.contacts_path_to_file_btn
pop ebx
push ecx
push edx
push dword [edi + 0x27f0]
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0xc
push ecx
push edx
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x5c], 0x2f
mov dword [esp + 0x64], ebx
call fcn.004e40db
push eax
mov ecx, esi
mov dword [edi + 0x8c], eax
call fcn.004e4ab3
push 0x44
call fcn.004ed632
push 0x646464
push dword [esp + 0x2c]
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], 0xc
push dword [edi + 0x27f0]
mov dword [esp + 0x4c], 0x53
push ecx
push 0x50000004
push str.contacts_edit_find
push ebp
push dword [edi + 0x10]
mov ecx, eax
mov dword [esp + 0x64], 0xac
mov dword [esp + 0x68], ebx
call fcn.004e41b3
push eax
mov ecx, esi
mov dword [edi + 0xa8], eax
call fcn.004e4ab3
call fcn.0049b975
mov ecx, edi
call fcn.0049bc55
lea ebx, [edi + 0x2800]
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
push 0x3c
cdq
pop ecx
idiv ecx
test eax, eax
je 0x49b8bd
mov ecx, ebx
call fcn.0049c742
mov ecx, edi
call fcn.0049cb1a
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret 8