Function at 0x47d9f0
Capabilities:
Query or enumerate registry value
Read .ini file
Resolve function by parsing pe exports
Set registry value

Disassembly:
mov eax, 0x13f8
call fcn.00466cb0
push ebx
push ebp
mov ebp, dword [esp + 0x1408]
push esi
push edi
push 0x6e8b4c
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47da21
mov esi, str.Foxit_SSH_Link
jmp 0x47dad9
push 0x6e8b38
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47da3d
mov esi, str.PDF_Text_Converter
jmp 0x47dad9
push 0x6e8b20
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47da59
mov esi, str.PDF_Text_Viewer
jmp 0x47dad9
push 0x6e8b0c
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47da72
mov esi, str.WAC_Server
jmp 0x47dad9
push 0x6e8afc
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47da8b
mov esi, str.PDF_Page_Organizer
jmp 0x47dad9
push 0x6e8ae4
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47daa4
mov esi, str.PDF_Page_Organizer_Pro
jmp 0x47dad9
push 0x6e8ac8
push ebp
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47dabd
mov esi, str.PDF_Editor
jmp 0x47dad9
push 0x6e1adc
push ebp
call fcn.004668db
add esp, 8
mov esi, str.Foxit_Reader_Pro
test eax, eax
je 0x47dad9
mov esi, str.Foxit_License
mov edi, dword [esp + 0x140c]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push edi
lea eax, [esp + 0x10c]
push 0x100
push eax
push 0x73d670
push 0x6e8a94
push esi
call ebx
mov al, byte [esp + 0x108]
test al, al
jne 0x47db2c
push edi
lea ecx, [esp + 0x10c]
push 0x100
push ecx
mov esi, str.Foxit_License
push 0x73d670
push 0x6e8a94
push esi
call ebx
push edi
lea edx, [esp + 0x60c]
push 0x100
push edx
push 0x73d670
push str.Users
push esi
call ebx
push edi
lea eax, [esp + 0x50c]
push 0x100
push eax
push 0x73d670
push str.Licensee
push esi
call ebx
push edi
lea ecx, [esp + 0x30c]
push 0x100
push ecx
push 0x73d670
push str.ExpireDate
push esi
call ebx
push edi
lea edx, [esp + 0x70c]
push 0x100
push edx
push 0x73d670
push str.Sign
push esi
call ebx
push edi
lea eax, [esp + 0x40c]
push 0x100
push eax
push 0x73d670
push str.LicenseDate
push esi
call ebx
push edi
lea ecx, [esp + 0x100c]
push 0x400
push ecx
push 0x73d670
push str.Comments
push esi
call ebx
push edi
lea edx, [esp + 0x20c]
push 0x400
push edx
push 0x73d670
push str.CDKey
push esi
call ebx
push 3
lea eax, [esp + 0x10c]
push ebp
push eax
call fcn.00468f7b
add esp, 0xc
test eax, eax
je 0x47dc0d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x13f8
ret
lea ecx, [esp + 0x508]
push 0x6e8a2c
push ecx
call fcn.004668db
add esp, 8
test eax, eax
jne 0x47de17
mov ecx, 0x20
lea edi, [esp + 0x88]
lea edx, [esp + 0x208]
rep stosd dword es:[edi], eax
push edx
call fcn.00468c8a
mov eax, dword [esp + 0x20c]
add esp, 4
mov dword [esp + 0x88], eax
xor eax, eax
cmp eax, 2
mov ecx, 5
jl 0x47dc67
mov ecx, 6
lea ecx, [ecx + eax*2]
mov dl, byte [esp + ecx + 0x208]
mov bl, byte [esp + ecx + 0x209]
shl dl, 4
add dl, bl
sub dl, 0x51
mov byte [esp + eax + 0x8c], dl
inc eax
cmp eax, 4
jl 0x47dc58
mov edi, 0x6e89f4
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x90]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x80
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x8c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x18]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
push eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ecx
call fcn.0047e340
mov edx, dword [esp + 0x1424]
add esp, 0xc
test edx, edx
je 0x47dd11
lea edi, [esp + 0x208]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x1420]
test edx, edx
je 0x47dd40
lea edi, [esp + 0x508]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor ecx, ecx
lea esi, [esp + 0x14]
mov dl, byte [esi]
cmp ecx, 4
mov eax, 0xf
jl 0x47dd57
mov eax, 0x10
add eax, ecx
mov bl, byte [esp + eax + 0x208]
shl bl, 4
add bl, byte [esp + eax + 0x209]
sub bl, 0x51
cmp dl, bl
jne 0x47e14c
add ecx, 2
add esi, 4
cmp ecx, 8
jl 0x47dd46
mov edx, dword [esp + 0x141c]
test edx, edx
je 0x47ddaf
lea edi, [esp + 0x608]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x1424]
test edx, edx
je 0x47ddde
lea edi, [esp + 0x308]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x408]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x1428]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x13f8
ret
lea edi, [esp + 0x708]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x50
je 0x47de38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13f8
ret
xor edx, edx
lea esi, [esp + 0x708]
mov al, byte [esi]
cmp al, 0x39
movsx eax, al
jle 0x47de4f
sub eax, 0x37
jmp 0x47de52
sub eax, 0x30
mov cl, byte [esi + 1]
shl al, 4
cmp cl, 0x39
mov byte [esp + edx + 0x48], al
movsx ecx, cl
jle 0x47de69
sub ecx, 0x37
jmp 0x47de6c
sub ecx, 0x30
add al, cl
add esi, 2
mov byte [esp + edx + 0x48], al
inc edx
cmp edx, 0x28
jl 0x47de41
lea eax, [esp + 0x108]
lea ecx, [esp + 0x808]
push eax
push ecx
mov byte [esp + 0x810], 0
call fcn.0047d9b0
lea edx, [esp + 0x610]
lea eax, [esp + 0x810]
push edx
push eax
call fcn.0047d9b0
lea ecx, [esp + 0x518]
lea edx, [esp + 0x818]
push ecx
push edx
call fcn.0047d9b0
lea eax, [esp + 0x320]
lea ecx, [esp + 0x820]
push eax
push ecx
call fcn.0047d9b0
lea edx, [esp + 0x428]
lea eax, [esp + 0x828]
push edx
push eax
call fcn.0047d9b0
lea ecx, [esp + 0x1030]
lea edx, [esp + 0x830]
push ecx
push edx
call fcn.0047d9b0
lea eax, [esp + 0x78]
push 0x6e8800
push eax
lea edi, [esp + 0x840]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0x844]
push ecx
call fcn.0047e430
add esp, 0x40
shl eax, 4
mov dword [esp + 0x24], eax
jne 0x47df43
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x13f8
ret
mov al, byte [esp + 0x308]
test al, al
je 0x47e039
lea edx, [esp + 0x10]
push edx
push 0xf003f
push 0
push str.SoftwareMicrosoftWindowsCurrentVersion
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0
lea eax, [esp + 0x114]
push 0
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x47dfa5
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x13f8
ret
lea eax, [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov ecx, dword [esp + 0x1a]
mov edx, dword [esp + 0x16]
mov eax, dword [esp + 0x14]
and ecx, 0xffff
and edx, 0xffff
push ecx
and eax, 0xffff
push edx
push eax
lea ecx, [esp + 0x34]
push str._04d__02d__02d
push ecx
call fcn.004677fb
lea edx, [esp + 0x31c]
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.004668db
add esp, 0x1c
test eax, eax
jl 0x47e02e
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x24]
push 4
push ecx
push 4
lea edx, [esp + 0x114]
push 0
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x13f8
ret
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [esp + 0x1418]
test edx, edx
je 0x47e068
lea edi, [esp + 0x108]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x141c]
test edx, edx
je 0x47e097
lea edi, [esp + 0x608]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x1420]
test edx, edx
je 0x47e0c6
lea edi, [esp + 0x508]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x1424]
test edx, edx
je 0x47e0f5
lea edi, [esp + 0x308]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [esp + 0x1428]
test edx, edx
je 0x47e124
lea edi, [esp + 0x408]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x1414]
test eax, eax
je 0x47de07
lea ecx, [esp + 0x408]
push ecx
push eax
call fcn.004668db
add esp, 8
test eax, eax
jle 0x47de07
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x13f8
ret