Function at 0x10071150
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x101828c0
push 0x10132540
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, 0x16b4
call fcn.10140530
mov eax, dword [0x10189710]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x20], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x16ac], eax
mov dword [ebp - 0x16b0], ecx
mov dword [ebp - 0x16bc], edx
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x16b4], eax
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x16b8], ecx
mov edx, dword [ebp + 0x1c]
mov dword [ebp - 0x16c0], edx
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x16c8], eax
xor ebx, ebx
mov dword [ebp - 0x1684], ebx
mov dword [ebp - 0x1698], ebx
mov dword [ebp - 0x168c], ebx
mov dword [ebp - 0x16a0], ebx
mov dword [ebp - 0x1690], ebx
mov byte [ebp - 0x474], bl
push 0x207
push ebx
lea ecx, [ebp - 0x473]
push ecx
call fcn.1012e060
add esp, 0xc
mov byte [ebp - 0x38], bl
xor eax, eax
mov dword [ebp - 0x37], eax
mov dword [ebp - 0x33], eax
mov byte [ebp - 0x2c], al
mov dword [ebp - 0x2b], eax
mov dword [ebp - 0x27], eax
mov dword [ebp - 0x16a4], ebx
mov dword [ebp - 0x16a8], 0x4e40409
cmp dword [0x101c9094], ebx
jne 0x100712e6
mov ecx, str.version.dll
call fcn.1005a380
mov dword [0x101c9094], eax
cmp eax, ebx
je 0x100712e6
push str.VerQueryValueA
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
call ebx
mov dword [0x101c9098], eax
push str.GetFileVersionInfoA
mov edx, dword [0x101c9094]
push edx
call ebx
mov dword [0x101c909c], eax
push str.GetFileVersionInfoSizeA
mov eax, dword [0x101c9094]
push eax
call ebx
mov dword [0x101c90a0], eax
cmp dword [0x101c9098], 0
je 0x1007129f
cmp dword [0x101c909c], 0
je 0x1007129f
test eax, eax
jne 0x100712ac
mov ecx, dword [0x101c9094]
push ecx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
push str.VerQueryValueW
mov edx, dword [0x101c9094]
push edx
call ebx
mov dword [0x101c90a4], eax
push str.GetFileVersionInfoExW
mov eax, dword [0x101c9094]
push eax
call ebx
mov dword [0x101c90a8], eax
push str.GetFileVersionInfoSizeExW
mov ecx, dword [0x101c9094]
push ecx
call ebx
mov dword [0x101c90ac], eax
xor ebx, ebx
cmp dword [0x101c9098], ebx
je 0x10071af8
cmp dword [0x101c909c], ebx
je 0x10071af8
cmp dword [0x101c90a0], ebx
je 0x10071af8
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp edi, ebx
je 0x1007132a
cmp byte [edi], 0
je 0x1007132a
push edi
lea edx, [ebp - 0x474]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x1007133d
push 0x208
lea eax, [ebp - 0x474]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
cmp dword [0x101b5ac4], ebx
je 0x1007135a
lea ecx, [ebp - 0x474]
push ecx
push str.GVI:__s
push ebx
call fcn.1006ed90
add esp, 0xc
mov dword [ebp - 4], ebx
lea edx, [ebp - 0x16a0]
push edx
lea eax, [ebp - 0x474]
push eax
call dword [0x101c90a0]
mov dword [ebp - 0x169c], eax
cmp eax, ebx
jne 0x100713c7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [ebp - 0x16c4], edi
cmp edi, 0x714
jne 0x10071af1
lea esi, [ebp - 0x474]
call fcn.1006a5a0
cmp eax, 1
jne 0x100713bb
mov ecx, esi
call fcn.10060af0
test eax, eax
jne 0x100713bb
mov edi, 5
mov dword [ebp - 0x16c4], edi
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x10071af1
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 0x1688], ebx
cmp dword [0x101c90ac], ebx
je 0x10071425
cmp dword [0x101c90a8], 0
je 0x10071425
lea ebx, [ebp - 0x1688]
lea edi, [ebp - 0x474]
call fcn.10073b70
cmp dword [ebp - 0x1688], 0
je 0x10071425
mov eax, dword [ebp - 0x1688]
cmp word [eax], 0
je 0x10071425
lea ecx, [ebp - 0x16a0]
push ecx
push eax
push 2
call dword [0x101c90ac]
mov ebx, eax
mov dword [ebp - 0x1698], ebx
jmp 0x1007142b
mov ebx, dword [ebp - 0x1698]
mov edx, dword [ebp - 0x169c]
push edx
call fcn.1006a7b0
add esp, 4
mov edi, eax
mov dword [ebp - 0x1694], edi
test edi, edi
jne 0x10071462
mov eax, dword [ebp - 0x1688]
test eax, eax
je 0x10071af8
push eax
call fcn.10128243
add esp, 4
jmp 0x10071af8
push edi
mov eax, dword [ebp - 0x169c]
push eax
push 0
lea ecx, [ebp - 0x474]
push ecx
call dword [0x101c909c]
test eax, eax
jne 0x1007149e
mov eax, dword [ebp - 0x1688]
test eax, eax
je 0x10071490
push eax
call fcn.10128243
add esp, 4
push edi
call fcn.10128243
add esp, 4
jmp 0x10071af8
cmp dword [0x101c90ac], 0
je 0x100714f7
cmp dword [0x101c90a8], 0
je 0x100714f7
test ebx, ebx
je 0x100714f7
push ebx
call fcn.1006a7b0
add esp, 4
mov edi, eax
mov dword [ebp - 0x168c], edi
test edi, edi
je 0x100714f7
push edi
push ebx
push 0
mov edx, dword [ebp - 0x1688]
push edx
push 2
call dword [0x101c90a8]
test eax, eax
jne 0x100714f7
push edi
call fcn.10128243
add esp, 4
xor eax, eax
mov dword [ebp - 0x168c], eax
mov dword [ebp - 0x1698], eax
xor edi, edi
xor ebx, ebx
xor eax, eax
mov word [ebp - 0x4c], ax
mov dword [ebp - 0x4a], eax
mov dword [ebp - 0x46], eax
mov dword [ebp - 0x42], eax
mov dword [ebp - 0x3e], eax
xor ecx, ecx
mov word [ebp - 0x60], cx
mov dword [ebp - 0x5e], eax
mov dword [ebp - 0x5a], eax
mov dword [ebp - 0x56], eax
mov dword [ebp - 0x52], eax
xor edx, edx
mov word [ebp - 0x26c], dx
push 0x206
push edx
lea eax, [ebp - 0x26a]
push eax
call fcn.1012e060
xor ecx, ecx
mov word [ebp - 0x67c], cx
push 0x206
push ecx
lea edx, [ebp - 0x67a]
push edx
call fcn.1012e060
mov dword [ebp - 0x1680], ebx
xor eax, eax
mov word [ebp - 0x167c], ax
push 0xffe
push eax
lea ecx, [ebp - 0x167a]
push ecx
call fcn.1012e060
add esp, 0x24
lea edx, [ebp - 0x1684]
push edx
lea eax, [ebp - 0x16a4]
push eax
push 0x10158184
mov ecx, dword [ebp - 0x1694]
push ecx
call dword [0x101c9098]
test eax, eax
je 0x100715a9
mov eax, dword [ebp - 0x16a4]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov ecx, dword [ebp - 0x16bc]
test ecx, ecx
je 0x100715c1
mov eax, dword [ebp - 0x16b4]
test eax, eax
je 0x100715c1
mov dword [ecx], edi
mov dword [eax], ebx
lea edx, [ebp - 0x1684]
push edx
lea eax, [ebp - 0x1690]
push eax
push str.VarFileInfoTranslation
mov ecx, dword [ebp - 0x1694]
push ecx
call dword [0x101c9098]
test eax, eax
jne 0x100715f1
lea edx, [ebp - 0x16a8]
mov dword [ebp - 0x1690], edx
mov eax, dword [ebp - 0x1690]
mov ecx, dword [eax]
rol ecx, 0x10
push ecx
push 0x1016b2a8
lea edx, [ebp - 0x38]
push edx
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
call edi
mov eax, dword [ebp - 0x1690]
mov ecx, dword [eax]
push ecx
push 0x1016b2a8
lea edx, [ebp - 0x2c]
push edx
call edi
mov eax, dword [ebp - 0x1690]
mov ecx, dword [eax]
rol ecx, 0x10
push ecx
push str._08X
lea edx, [ebp - 0x4c]
call fcn.100027f0
mov edx, dword [ebp - 0x1690]
mov eax, dword [edx]
push eax
push str._08X
lea edx, [ebp - 0x60]
call fcn.100027f0
add esp, 0x28
test esi, esi
je 0x1007165b
mov byte [esi], 0
mov edi, dword [ebp - 0x16ac]
test edi, edi
je 0x10071668
mov byte [edi], 0
test esi, esi
je 0x1007184d
cmp dword [0x101c90ac], 0
je 0x1007184d
cmp dword [0x101c90a8], 0
je 0x1007184d
cmp dword [ebp - 0x1698], 0
je 0x1007184d
lea ecx, [ebp - 0x4c]
push ecx
push str.StringFileInfo_sFileVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 8
lea edx, [ebp - 0x1684]
push edx
lea eax, [ebp - 0x1680]
push eax
lea ecx, [ebp - 0x167c]
push ecx
mov ebx, dword [ebp - 0x168c]
push ebx
call dword [0x101c90a4]
test eax, eax
jne 0x1007176f
push str.StringFileInfo040904E4FileVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 4
lea eax, [ebp - 0x1684]
push eax
lea ecx, [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x167c]
push edx
push ebx
call dword [0x101c90a4]
test eax, eax
je 0x10071738
mov eax, dword [ebp - 0x1680]
push eax
call fcn.10061c90
push 0x103
mov ecx, dword [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x26c]
push edx
call fcn.1012c265
lea eax, [ebp - 0x26c]
push eax
jmp 0x1007179a
lea ecx, [ebp - 0x60]
push ecx
push str.StringFileInfo_sFileVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 8
lea edx, [ebp - 0x1684]
push edx
lea eax, [ebp - 0x1680]
push eax
lea ecx, [ebp - 0x167c]
push ecx
push ebx
call dword [0x101c90a4]
test eax, eax
je 0x100717bd
mov edx, dword [ebp - 0x1680]
push edx
call fcn.10061c90
push 0x103
mov eax, dword [ebp - 0x1680]
push eax
lea ecx, [ebp - 0x26c]
push ecx
call fcn.1012c265
lea edx, [ebp - 0x26c]
push edx
push 0x10153fb0
push esi
call fcn.10127dc0
push 0x10157178
push 0x10159810
push esi
call fcn.10064100
add esp, 0x28
jmp 0x10071853
push str.StringFileInfo040904b0FileVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 4
lea eax, [ebp - 0x1684]
push eax
lea ecx, [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x167c]
push edx
push ebx
call dword [0x101c90a4]
test eax, eax
je 0x10071853
mov eax, dword [ebp - 0x1680]
push eax
call fcn.10061c90
push 0x103
mov ecx, dword [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x26c]
push edx
call fcn.1012c265
lea eax, [ebp - 0x26c]
push eax
push 0x10153fb0
push esi
call fcn.10127dc0
push 0x10157178
push 0x10159810
push esi
call fcn.10064100
push 0x40904b0
push str._08X
lea edx, [ebp - 0x4c]
call fcn.100027f0
add esp, 0x30
jmp 0x10071853
mov ebx, dword [ebp - 0x168c]
test esi, esi
je 0x1007188e
cmp byte [esi], 0
jne 0x1007188e
push esi
lea ecx, [ebp - 0x38]
push ecx
push 0x10158204
lea ecx, [ebp - 0x2c]
mov edx, dword [ebp - 0x1694]
call fcn.10070f70
add esp, 0xc
test eax, eax
je 0x1007188e
push 0x10157178
push 0x10159810
push esi
call fcn.10064100
add esp, 0xc
test edi, edi
je 0x10071a17
cmp dword [0x101c90ac], 0
je 0x100719d8
cmp dword [0x101c90a8], 0
je 0x100719d8
cmp dword [ebp - 0x1698], 0
je 0x100719d8
lea edx, [ebp - 0x4c]
push edx
push str.StringFileInfo_sProductVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 8
lea eax, [ebp - 0x1684]
push eax
lea ecx, [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x167c]
push edx
push ebx
call dword [0x101c90a4]
test eax, eax
jne 0x1007198f
push str.StringFileInfo040904E4ProductVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 4
lea ecx, [ebp - 0x1684]
push ecx
lea edx, [ebp - 0x1680]
push edx
lea eax, [ebp - 0x167c]
push eax
push ebx
call dword [0x101c90a4]
test eax, eax
je 0x10071958
mov ecx, dword [ebp - 0x1680]
push ecx
call fcn.10061c90
push 0x103
mov edx, dword [ebp - 0x1680]
push edx
lea eax, [ebp - 0x67c]
push eax
call fcn.1012c265
lea ecx, [ebp - 0x67c]
push ecx
jmp 0x100719ba
lea edx, [ebp - 0x60]
push edx
push str.StringFileInfo_sProductVersion
lea edx, [ebp - 0x167c]
call fcn.100027f0
add esp, 8
lea eax, [ebp - 0x1684]
push eax
lea ecx, [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x167c]
push edx
push ebx
call dword [0x101c90a4]
test eax, eax
je 0x100719d8
mov eax, dword [ebp - 0x1680]
push eax
call fcn.10061c90
push 0x103
mov ecx, dword [ebp - 0x1680]
push ecx
lea edx, [ebp - 0x67c]
push edx
call fcn.1012c265
lea eax, [ebp - 0x67c]
push eax
push 0x10153fb0
push edi
call fcn.10127dc0
push 0x10157178
push 0x10159810
push edi
call fcn.10064100
add esp, 0x28
test edi, edi
je 0x10071a17
cmp byte [edi], 0
jne 0x10071a17
push edi
lea ecx, [ebp - 0x38]
push ecx
push 0x1016b438
lea ecx, [ebp - 0x2c]
mov esi, dword [ebp - 0x1694]
mov edx, esi
call fcn.10070f70
add esp, 0xc
test eax, eax
je 0x10071a1d
push 0x10157178
push 0x10159810
push edi
call fcn.10064100
add esp, 0xc
jmp 0x10071a1d
mov esi, dword [ebp - 0x1694]
mov eax, dword [ebp - 0x16b0]
test eax, eax
je 0x10071a3e
push eax
lea edx, [ebp - 0x38]
push edx
push 0x1016b448
lea ecx, [ebp - 0x2c]
mov edx, esi
call fcn.10070f70
add esp, 0xc
mov eax, dword [ebp - 0x16b8]
test eax, eax
je 0x10071a5f
push eax
lea eax, [ebp - 0x38]
push eax
push 0x1016b458
lea ecx, [ebp - 0x2c]
mov edx, esi
call fcn.10070f70
add esp, 0xc
mov eax, dword [ebp - 0x16c0]
test eax, eax
je 0x10071a80
push eax
lea ecx, [ebp - 0x38]
push ecx
push 0x1016b464
lea ecx, [ebp - 0x2c]
mov edx, esi
call fcn.10070f70
add esp, 0xc
mov eax, dword [ebp - 0x16c8]
test eax, eax
je 0x10071aa1
push eax
lea edx, [ebp - 0x38]
push edx
push 0x101622b0
lea ecx, [ebp - 0x2c]
mov edx, esi
call fcn.10070f70
add esp, 0xc
mov eax, dword [ebp - 0x1688]
test eax, eax
je 0x10071ab4
push eax
call fcn.10128243
add esp, 4
test ebx, ebx
je 0x10071ac1
push ebx
call fcn.10128243
add esp, 4
push esi
call fcn.10128243
add esp, 4
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, 1
jmp 0x10071afa
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x20]
xor ecx, ebp
call fcn.10127db1
mov esp, ebp
pop ebp
ret 0x1c