Function at 0x100014f0
Capabilities:
Get file version info
Link many functions at runtime

Disassembly:
sub esp, 0x114
mov eax, dword [0x10020100]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push edi
push str._GetDiscussMemShowName_Group_Util__YA_AVCTXStringW__KK_Z
push str.KernelUtil.dll
call esi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
push str._GetDiscussName_Group_Util__YA_AVCTXStringW__K_Z
push str.KernelUtil
mov dword [0x100215f8], eax
call esi
push eax
call edi
push str._GetGroupMemShowName_Group_Util__YA_AVCTXStringW__KK_Z
push str.KernelUtil.dll
mov dword [0x100215fc], eax
call esi
push eax
call edi
push str._GetGroupCombineName_Group_Util__YA_AVCTXStringW__K_Z
push str.KernelUtil
mov dword [0x10021600], eax
call esi
push eax
call edi
push str._GetGroupMemLevelLabelInGroup_Group_Util__YA_NKKPAPA_W_Z
push str.KernelUtil.dll
mov dword [0x10021604], eax
call esi
push eax
call edi
push str._GetPublicName_Contact_Util__YA_AVCTXStringW__K_Z
push str.KernelUtil
mov dword [0x10021608], eax
call esi
push eax
call edi
push str._IsBuddy_Contact_Util__YAHK_Z
push str.KernelUtil
mov dword [0x1002160c], eax
call esi
push eax
call edi
push str._GetRawName_Contact_Util__YA_AVCTXStringW__K_Z
push str.KernelUtil
mov dword [0x10021610], eax
call esi
push eax
call edi
push str._GetPublicEmail_Contact_Util__YA_AVCTXStringW__K_Z
push str.KernelUtil
mov dword [0x10021614], eax
call esi
push eax
call edi
push str._OpenFile_File_Util__YAHVCTXStringW__PAPAUITXFile__PA_KPAW4OpenFileResult_12__Z
push str.KernelUtil.dll
mov dword [0x10021618], eax
call esi
push eax
call edi
push str.CreateFileW
push str.Kernel32.dll
mov dword [0x1002161c], eax
call esi
push eax
call edi
push str.MoveFileExW
push str.Kernel32.dll
mov dword [0x10021620], eax
call esi
push eax
call edi
push str._GetBuildVer_Version__YAKXZ
push str.KernelUtil
mov dword [0x10021624], eax
call esi
push eax
call edi
push str._GetSelfUin_Contact_Util__YAKXZ
push str.KernelUtil
mov ebx, eax
call esi
push eax
call edi
test eax, eax
je 0x10001630
call eax
mov dword [0x100215c8], eax
jmp 0x10001635
mov eax, dword [0x100215c8]
test eax, eax
je 0x1000164e
mov ecx, dword [0x10021614]
test ecx, ecx
je 0x1000164e
push eax
push 0x100215cc
call ecx
add esp, 8
test ebx, ebx
jne 0x100016f0
push 0x104
lea eax, [esp + 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x1c]
push edx
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov ebx, eax
test ebx, ebx
je 0x100016d6
push ebx
push 2
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
mov eax, dword [esp + 0x14]
push edi
push ebx
push eax
lea ecx, [esp + 0x24]
push ecx
call sub.VERSION.dll_GetFileVersionInfoA
lea edx, [esp + 0xc]
push edx
lea eax, [esp + 0x14]
push eax
push 0x1001a294
push edi
call sub.VERSION.dll_VerQueryValueA
mov ecx, dword [esp + 0x10]
movzx edi, word [ecx + 0x16]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x100016f4
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.10009f34
add esp, 0x114
ret
call ebx
mov edi, eax
mov ecx, dword [esp + 0x11c]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10009f34
add esp, 0x114
ret