Function at 0x433c20
Capabilities:
Get common file path
Get program files directory

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x469846
push eax
mov dword fs:[0], esp
sub esp, 0x740
mov ecx, 0x41
xor eax, eax
push ebx
push ebp
push esi
push edi
lea edi, [esp + 0x40]
xor ebx, ebx
rep stosd dword es:[edi], eax
mov ecx, dword [0x48c388]
push ebx
lea eax, [esp + 0x44]
push 0x26
push eax
push ecx
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathA]
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x433cb5
lea edx, [esp + 0x40]
lea eax, [esp + 0x64c]
push edx
push str._siResearchiClick_
push eax
call fcn.0044186a
add esp, 0xc
lea ecx, [esp + 0x40]
lea edx, [esp + 0x448]
push ecx
push str._siResearchiClickiResearchiClick.exe
push edx
call fcn.0044186a
lea eax, [esp + 0x4c]
push 2
lea ecx, [esp + 0x44]
push eax
push ecx
jmp 0x433db0
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x54c]
lea edx, [esp + 0x54c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x348]
push 0xff
rep stosd dword es:[edi], eax
push edx
call dword [0x46c290]
lea edi, [esp + 0x54c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x434193
lea eax, [esp + 0x54c]
push 3
lea ecx, [esp + 0x34c]
push eax
push ecx
call fcn.004419a0
mov edi, str.Program_Files
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x348]
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea edx, [esp + 0x40]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x348]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x64c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x40]
push ecx
push str._siResearchiClick_
push edx
call fcn.0044186a
add esp, 0xc
lea eax, [esp + 0x40]
lea ecx, [esp + 0x448]
push eax
push str._siResearchiClickiResearchiClick.exe
push ecx
call fcn.0044186a
lea edx, [esp + 0x4c]
push 2
lea eax, [esp + 0x44]
push edx
push eax
call fcn.004419a0
mov edx, dword [esp + 0x778]
add esp, 0x18
lea ecx, [esp + 0x244]
mov byte [esp + 0x36], bl
push 0x104
push ecx
push edx
call dword [0x46c250]
push ebx
lea eax, [esp + 0x148]
push ebx
push eax
lea ecx, [esp + 0x250]
push 0x48c458
push ecx
call fcn.004430f1
lea edi, [esp + 0x158]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp byte [esp + ecx + 0x143], 0x5c
je 0x433e42
mov edi, 0x47dff0
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x144]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x144]
push eax
push 0x48c458
push str._s_s
push 0x48c660
call dword [sym.imp.USER32.dll_wsprintfA]
lea ecx, [esp + 0x65c]
push ecx
call fcn.0042d340
lea edx, [esp + 0x45c]
push edx
call fcn.0042d340
lea eax, [esp + 0x25c]
push eax
call fcn.0042d340
lea ecx, [esp + 0x260]
push 0x48c660
push ecx
call fcn.00441f40
mov edx, eax
add esp, 0x24
cmp edx, ebx
je 0x433ecf
mov edi, 0x48c660
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add edx, ecx
or ecx, 0xffffffff
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x48c45c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x433eef
mov edi, str.iResearchiClick.exe
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, 0x48c45c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push str.szRundDir
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x248]
push ecx
call fcn.0042ce90
lea edx, [esp + 0x450]
push str.szExePath
push edx
call fcn.0042ce90
mov al, byte [esp + 0x23]
add esp, 0x10
lea ecx, [esp + 0x24]
mov byte [esp + 0x24], al
push ebx
call fcn.00405c50
mov edi, str.iResearchiClick.exe
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x28]
push ebp
call fcn.00407310
test al, al
je 0x433f71
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov edx, ecx
mov esi, str.iResearchiClick.exe
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x28]
call fcn.004072f0
mov edi, str.YJT.exe
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x75c], ebx
mov ebp, ecx
lea ecx, [esp + 0x28]
push ebp
call fcn.00407310
test al, al
je 0x433fbd
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov eax, ecx
mov esi, str.YJT.exe
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x2c], ebp
mov byte [ecx + ebp], bl
mov dl, byte [esp + 0x13]
push ebx
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
call fcn.00405c50
mov edi, 0x48c660
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x75c], 1
mov ebp, ecx
lea ecx, [esp + 0x18]
push ebp
call fcn.00407310
test al, al
je 0x43401c
mov edi, dword [esp + 0x18]
mov ecx, ebp
mov eax, ecx
mov esi, 0x48c660
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [ecx + ebp], bl
mov edi, 0x47dff0
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x46c634]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, esi
ja 0x434042
call fcn.00451e5b
cmp esi, ebx
jbe 0x434086
mov eax, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x18]
lea ebp, [eax + esi]
push ebp
call fcn.00407310
test al, al
je 0x434086
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov esi, 0x47dff0
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.004072f0
mov eax, dword [0x46c634]
lea ecx, [esp + 0x24]
push eax
push ebx
push ecx
lea ecx, [esp + 0x20]
call fcn.00405700
mov edi, str..tmp
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [0x46c634]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x1c]
sub edx, ecx
cmp edx, esi
ja 0x4340c1
call fcn.00451e5b
cmp esi, ebx
jbe 0x434106
mov eax, dword [esp + 0x1c]
push ebx
lea ecx, [esp + 0x18]
lea ebp, [eax + esi]
push ebp
call fcn.00407310
test al, al
je 0x434106
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov esi, str..tmp
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov byte [eax + ebp], bl
mov eax, dword [esp + 0x18]
cmp eax, ebx
jne 0x434113
mov eax, 0x46c630
push eax
call dword [0x46c234]
mov edi, 0x48c660
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, 0x48c55c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
cmp ecx, ebx
je 0x434163
mov al, byte [ecx - 1]
cmp al, bl
je 0x434159
cmp al, 0xff
je 0x434159
dec al
mov byte [ecx - 1], al
jmp 0x434163
dec ecx
push ecx
call fcn.00460f37
add esp, 4
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
cmp ecx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
je 0x434193
mov al, byte [ecx - 1]
cmp al, bl
je 0x434189
cmp al, 0xff
je 0x434189
dec al
mov byte [ecx - 1], al
jmp 0x434193
dec ecx
push ecx
call fcn.00460f37
add esp, 4
mov ecx, dword [esp + 0x750]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0x74c
ret