Function at 0x468b50
Capabilities:
Access peb ldr_data
Check if file exists
Get common file path
Get ntdll base address

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fec58
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x240
mov eax, dword [0x53000c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x22c], esi
mov dword [ebp - 0x24c], esi
sub esp, 0x18
mov dword [ebp - 4], 1
lea eax, [ebx + 0x30]
mov dword [ebp - 0x22c], esp
mov ecx, esp
push eax
call fcn.0041a300
sub esp, 0x18
mov byte [ebp - 4], 2
lea eax, [ebx + 0x18]
mov ecx, esp
push eax
call fcn.0041a300
push dword [ebx + 0x14]
mov ecx, esi
mov byte [ebp - 4], 1
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
call fcn.004373a0
mov byte [ebp - 4], 3
cmp dword [esi + 8], 0
mov dword [esi], vtable.SetNavSogou.0
jne 0x46920f
cmp dword [0x53b768], 8
lea ecx, [esi + 0x200]
mov eax, 0x53b754
cmovae eax, dword [0x53b754]
mov dword [esi + 0x78], eax
mov eax, 0x53b76c
cmp dword [0x53b780], 8
push 9
cmovae eax, dword [0x53b76c]
push str.sogou.com
mov dword [esi + 0xac], eax
call fcn.0041a5b0
push 0x20a
lea eax, [ebp - 0x228]
push 0
push eax
call fcn.004bcaf0
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 0
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp dword [0x53b798], 8
mov eax, 0x53b784
mov edi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
cmovae eax, dword [0x53b784]
push eax
lea eax, [ebp - 0x228]
push eax
call edi
cmp dword [0x53b7b0], 8
mov eax, 0x53b79c
cmovae eax, dword [0x53b79c]
push eax
lea eax, [ebp - 0x228]
push eax
call edi
lea eax, [ebp - 0x228]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x468d1e
push 0x20a
push eax
lea eax, [ebp - 0x228]
push eax
call fcn.004bcaf0
add esp, 0xc
lea eax, [ebp - 0x228]
push eax
push 1
push 0
push 0x1a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
cmp dword [0x53b798], 8
mov eax, 0x53b784
cmovae eax, dword [0x53b784]
push eax
lea eax, [ebp - 0x228]
push eax
call edi
cmp dword [0x53b7b0], 8
mov eax, 0x53b79c
cmovae eax, dword [0x53b79c]
push eax
lea eax, [ebp - 0x228]
push eax
call edi
lea ecx, [ebp - 0x228]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x468d27
sub ecx, edx
lea eax, [ebp - 0x228]
sar ecx, 1
push ecx
push eax
lea ecx, [esi + 0x3c]
call fcn.0041a5b0
mov eax, dword [esi + 0xb4]
lea edi, [esi + 0xb0]
mov dword [ebp - 0x22c], 0x80000002
cmp dword [edi + 8], eax
je 0x468d6d
mov dword [eax], 0x80000002
add dword [edi + 4], 4
jmp 0x468d7c
lea ecx, [ebp - 0x22c]
push ecx
push eax
mov ecx, edi
call fcn.0044ae90
mov eax, dword [esi + 0xc0]
add esi, 0xbc
push 0x53b7b4
cmp dword [esi + 8], eax
je 0x468d9f
mov ecx, eax
call fcn.0041a300
add dword [esi + 4], 0x18
jmp 0x468da7
push eax
mov ecx, esi
call fcn.0041ace0
push 0xb
xor eax, eax
mov dword [ebp - 0x234], 0
push str.DisplayIcon
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.0041a5b0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x248]
mov ecx, dword [eax + 0xcc]
cmp dword [eax + 0xd0], ecx
je 0x468e1c
movups xmm0, xmmword [ebp - 0x244]
mov edx, 7
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
add dword [eax + 0xcc], 0x18
mov word [ebp - 0x244], cx
jmp 0x468e35
lea edx, [ebp - 0x244]
push edx
push ecx
lea ecx, [eax + 0xc8]
call fcn.00429d50
mov edx, dword [ebp - 0x230]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x468e73
mov ecx, dword [ebp - 0x244]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x468e69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4692b5
push edx
push ecx
call fcn.0048e9ad
add esp, 8
mov eax, dword [edi + 4]
mov dword [ebp - 0x22c], 0x80000002
cmp dword [edi + 8], eax
je 0x468e91
mov dword [eax], 0x80000002
add dword [edi + 4], 4
jmp 0x468ea0
lea ecx, [ebp - 0x22c]
push ecx
push eax
mov ecx, edi
call fcn.0044ae90
mov eax, dword [esi + 4]
push 0x53b7cc
cmp dword [esi + 8], eax
je 0x468eba
mov ecx, eax
call fcn.0041a300
add dword [esi + 4], 0x18
jmp 0x468ec2
push eax
mov ecx, esi
call fcn.0041ace0
push 0xb
xor eax, eax
mov dword [ebp - 0x234], 0
push str.DisplayIcon
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.0041a5b0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x248]
add ecx, 0xc8
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x468f34
movups xmm0, xmmword [ebp - 0x244]
mov edx, 7
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [eax + 0x10], xmm0
xor eax, eax
add dword [ecx + 4], 0x18
mov word [ebp - 0x244], ax
jmp 0x468f47
lea edx, [ebp - 0x244]
push edx
push eax
call fcn.00429d50
mov edx, dword [ebp - 0x230]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x468f85
mov ecx, dword [ebp - 0x244]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x468f7b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4692ba
push edx
push ecx
call fcn.0048e9ad
add esp, 8
mov eax, dword [edi + 4]
mov dword [ebp - 0x22c], 0x80000002
cmp dword [edi + 8], eax
je 0x468fa3
mov dword [eax], 0x80000002
add dword [edi + 4], 4
jmp 0x468fb2
lea ecx, [ebp - 0x22c]
push ecx
push eax
mov ecx, edi
call fcn.0044ae90
mov eax, dword [esi + 4]
push 0x53b7e4
cmp dword [esi + 8], eax
je 0x468fcc
mov ecx, eax
call fcn.0041a300
add dword [esi + 4], 0x18
jmp 0x468fd4
push eax
mov ecx, esi
call fcn.0041ace0
push 0xb
xor eax, eax
mov dword [ebp - 0x234], 0
push str.DisplayIcon
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.0041a5b0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x248]
mov ecx, dword [eax + 0xcc]
cmp dword [eax + 0xd0], ecx
je 0x469049
movups xmm0, xmmword [ebp - 0x244]
mov edx, 7
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
add dword [eax + 0xcc], 0x18
mov word [ebp - 0x244], cx
jmp 0x469062
lea edx, [ebp - 0x244]
push edx
push ecx
lea ecx, [eax + 0xc8]
call fcn.00429d50
mov edx, dword [ebp - 0x230]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x4690a0
mov ecx, dword [ebp - 0x244]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x469096
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4692bf
push edx
push ecx
call fcn.0048e9ad
add esp, 8
mov eax, dword [edi + 4]
mov dword [ebp - 0x22c], 0x80000001
cmp dword [edi + 8], eax
je 0x4690be
mov dword [eax], 0x80000001
add dword [edi + 4], 4
jmp 0x4690cd
lea ecx, [ebp - 0x22c]
push ecx
push eax
mov ecx, edi
call fcn.0044ae90
mov eax, dword [esi + 4]
push 0x53b7fc
cmp dword [esi + 8], eax
je 0x4690e7
mov ecx, eax
call fcn.0041a300
add dword [esi + 4], 0x18
jmp 0x4690ef
push eax
mov ecx, esi
call fcn.0041ace0
push 0xb
xor eax, eax
mov dword [ebp - 0x234], 0
push str.DisplayIcon
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x230], 7
mov word [ebp - 0x244], ax
call fcn.0041a5b0
mov byte [ebp - 4], 7
mov esi, dword [ebp - 0x248]
mov ecx, dword [esi + 0xcc]
cmp dword [esi + 0xd0], ecx
je 0x469164
movups xmm0, xmmword [ebp - 0x244]
mov edx, 7
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x234]
movq qword [ecx + 0x10], xmm0
xor ecx, ecx
add dword [esi + 0xcc], 0x18
mov word [ebp - 0x244], cx
jmp 0x46917d
lea edx, [ebp - 0x244]
push edx
push ecx
lea ecx, [esi + 0xc8]
call fcn.00429d50
mov edx, dword [ebp - 0x230]
mov byte [ebp - 4], 3
cmp edx, 8
jb 0x4691bb
mov ecx, dword [ebp - 0x244]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4691b1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4692c4
push edx
push ecx
call fcn.0048e9ad
add esp, 8
cmp dword [esi + 8], 0
mov dword [esi + 0x1d0], 0xb4
jne 0x46920f
mov ecx, esi
call fcn.00438940
mov eax, dword [esi + 4]
sub eax, 1
je 0x4691f7
sub eax, 2
je 0x4691f0
sub eax, 1
je 0x4691e9
or eax, 0xffffffff
jmp 0x4691fc
call fcn.0045a2c0
jmp 0x4691fc
call fcn.004688d0
jmp 0x4691fc
call fcn.00477ac0
cmp byte [esi + 0x6c], 0
mov dword [esi + 0x1d8], eax
je 0x46920f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
mov edx, dword [ebx + 0x2c]
cmp edx, 8
jb 0x469249
mov ecx, dword [ebx + 0x18]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x46923f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4692c9
push edx
push ecx
call fcn.0048e9ad
add esp, 8
mov edx, dword [ebx + 0x44]
xor eax, eax
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 7
mov word [ebx + 0x18], ax
cmp edx, 8
jb 0x469293
mov ecx, dword [ebx + 0x30]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x469289
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4692ce
push edx
push ecx
call fcn.0048e9ad
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0048e99c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x40
call fcn.004c5929
call fcn.004c5929
call fcn.004c5929
call fcn.004c5929
call fcn.004c5929
call fcn.004c5929
int3