Function at 0x1002b42f
Capabilities:
Get file version info

Disassembly:
push ebp
sub esp, 0x158
lea ebp, [esp - 4]
mov eax, dword [0x1007b940]
xor eax, ebp
mov dword [ebp + 0x158], eax
push 0x50
mov eax, 0x1006019a
call fcn.1003230f
mov dword [ebp - 0x10], ecx
xor ebx, ebx
push ebx
lea ecx, [ebp]
mov dword [ebp - 4], ebx
mov dword [ebp + 0x18], 0xf
call fcn.10003416
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0x164]
xor edi, edi
push eax
lea ecx, [ebp]
inc edi
mov byte [ebp - 4], 1
call fcn.1000530e
cmp dword [ebp + 0x18], 0x10
mov eax, dword [ebp + 4]
jae 0x1002b490
lea eax, [ebp + 4]
push eax
call fcn.10025d40
pop ecx
test al, al
jne 0x1002b4dd
mov byte [ebp - 0x1d], bl
push ebx
push edi
lea ecx, [ebp]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp + 0x164]
call fcn.100048de
mov al, byte [ebp - 0x1d]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x158]
xor ecx, ebp
call fcn.100302c9
add ebp, 0x15c
leave
ret 0x1c
cmp dword [ebp + 0x17c], 0x10
mov eax, dword [ebp + 0x168]
mov dword [ebp - 0x5c], ebx
jae 0x1002b4f5
lea eax, [ebp + 0x168]
lea ecx, [ebp - 0x5c]
push ecx
push eax
call sub.VERSION.dll_GetFileVersionInfoSizeA
mov esi, eax
cmp esi, ebx
je 0x1002c0b7
push esi
call fcn.1002f7f6
pop ecx
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x1002c0ae
cmp dword [ebp + 0x17c], 0x10
mov eax, dword [ebp + 0x168]
jae 0x1002b530
lea eax, [ebp + 0x168]
push dword [ebp - 0x1c]
push esi
push dword [ebp - 0x5c]
push eax
call sub.VERSION.dll_GetFileVersionInfoA
cmp eax, ebx
je 0x1002c0ae
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
call fcn.1002ac18
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp + 0x1c]
push eax
call fcn.1002aee5
push str.StringFileInfo_s_s
lea ecx, [ebp + 0x38]
mov byte [ebp - 4], 2
call fcn.1000557a
push 0x103
lea eax, [ebp + 0x55]
push ebx
push eax
mov byte [ebp - 4], 3
mov byte [ebp + 0x54], bl
call fcn.10031b60
mov ecx, dword [ebp + 0x20]
add esp, 0xc
cmp dword [ebp + 0x34], 0x10
jae 0x1002b593
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b59f
lea eax, [ebp + 0x3c]
mov esi, 0x10062cf8
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 4
call fcn.1000557a
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.1002afe3
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x3c]
lea ecx, [esi + 4]
push eax
mov byte [ebp - 4], 5
mov dword [ebp - 0x18], ecx
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b629
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b635
lea eax, [ebp + 0x3c]
mov esi, 0x10062d04
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 6
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 7
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b6b7
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b6c3
lea eax, [ebp + 0x3c]
mov esi, 0x10062cec
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 8
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 9
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b745
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b751
lea eax, [ebp + 0x3c]
mov esi, 0x100644d4
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0xa
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xb
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b7d3
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b7df
lea eax, [ebp + 0x3c]
mov esi, 0x100644c4
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0xc
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xd
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b861
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b86d
lea eax, [ebp + 0x3c]
mov esi, 0x100644b0
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0xe
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0xf
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b8ef
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b8fb
lea eax, [ebp + 0x3c]
mov esi, 0x10062ce0
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x10
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x11
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002b983
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002b98f
lea eax, [ebp + 0x3c]
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x12
call fcn.1000557a
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.1002afe3
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 4]
mov byte [ebp - 4], 0x13
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002ba11
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002ba1d
lea eax, [ebp + 0x3c]
mov esi, 0x100644a4
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x14
call fcn.1000557a
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.1002afe3
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x3c]
lea ecx, [esi + 4]
push eax
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x18], ecx
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002baa7
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002bab3
lea eax, [ebp + 0x3c]
mov esi, str.LegalTrademarks
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x16
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x17
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002bb35
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002bb41
lea eax, [ebp + 0x3c]
mov esi, str.PrivateBuild
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x18
call fcn.1000557a
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
call fcn.1002afe3
mov esi, eax
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x3c]
push eax
mov byte [ebp - 4], 0x19
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push esi
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
cmp dword [ebp + 0x34], 0x10
mov ecx, dword [ebp + 0x20]
jae 0x1002bbc3
lea ecx, [ebp + 0x20]
cmp dword [ebp + 0x50], 0x10
mov eax, dword [ebp + 0x3c]
jae 0x1002bbcf
lea eax, [ebp + 0x3c]
mov esi, str.SpecialBuild
push esi
push ecx
push eax
lea eax, [ebp + 0x54]
push eax
call fcn.100376a9
add esp, 0x10
push esi
lea ecx, [ebp - 0x3c]
call fcn.1000557a
sub esp, 0x1c
lea eax, [ebp + 0x54]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
mov byte [ebp - 4], 0x1a
call fcn.1000557a
push dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
call fcn.1002afe3
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 4]
mov byte [ebp - 4], 0x1b
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
push str.Language
lea ecx, [ebp - 0x3c]
call fcn.1000557a
push dword [ebp - 0x1c]
lea eax, [ebp - 0x58]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x1c
call fcn.1002af55
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x3c]
push eax
lea ecx, [esi + 4]
mov byte [ebp - 4], 0x1d
call fcn.1002b379
push 0xffffffffffffffff
push ebx
push dword [ebp - 0x14]
mov ecx, eax
call fcn.1000530e
push ebx
push edi
lea ecx, [ebp - 0x58]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
push dword [ebp - 0x1c]
mov ecx, esi
call fcn.1002abea
mov esi, eax
movzx eax, word [esi + 0xa]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.FileMajorPart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x1e
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 8]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.FileMinorPart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x1f
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 0xe]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.FileBuildPart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x20
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 0xc]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.FilePrivatePart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x21
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 0x12]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.ProductMajorPart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x22
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 0x10]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.ProductMinorPart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x23
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 0x16]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.ProductBuildPart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x24
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
movzx eax, word [esi + 0x14]
push 0xa
lea ecx, [ebp + 0x54]
push ecx
push eax
call fcn.1003019f
add esp, 0xc
push str.ProductPrivatePart
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov ecx, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
add ecx, 4
mov byte [ebp - 4], 0x25
call fcn.1002b379
lea ecx, [ebp + 0x54]
push ecx
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
call fcn.1002ac4a
mov dword [ebp - 0x18], str.true
test al, al
jne 0x1002bf2c
mov dword [ebp - 0x18], str.false
push str.IsDebug
lea ecx, [ebp - 0x3c]
call fcn.1000557a
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
add esi, 4
push eax
mov ecx, esi
mov byte [ebp - 4], 0x26
call fcn.1002b379
push dword [ebp - 0x18]
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
mov ecx, dword [ebp - 0x10]
call fcn.1002ac50
mov dword [ebp - 0x18], str.true
test al, al
jne 0x1002bf80
mov dword [ebp - 0x18], str.false
push str.IsPatched
lea ecx, [ebp - 0x3c]
call fcn.1000557a
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x27
call fcn.1002b379
push dword [ebp - 0x18]
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
mov ecx, dword [ebp - 0x10]
call fcn.1002ac59
mov dword [ebp - 0x18], str.true
test al, al
jne 0x1002bfce
mov dword [ebp - 0x18], str.false
push str.IsPreRelease
lea ecx, [ebp - 0x3c]
call fcn.1000557a
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x28
call fcn.1002b379
push dword [ebp - 0x18]
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
mov ecx, dword [ebp - 0x10]
call fcn.1002ac61
mov dword [ebp - 0x18], str.true
test al, al
jne 0x1002c01c
mov dword [ebp - 0x18], str.false
push str.IsPrivateBuild
lea ecx, [ebp - 0x3c]
call fcn.1000557a
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x29
call fcn.1002b379
push dword [ebp - 0x18]
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 3
call fcn.100048de
mov ecx, dword [ebp - 0x10]
call fcn.1002ac6a
mov dword [ebp - 0x18], str.true
test al, al
jne 0x1002c06a
mov dword [ebp - 0x18], str.false
push str.IsSpecialBuild
lea ecx, [ebp - 0x3c]
call fcn.1000557a
lea eax, [ebp - 0x3c]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x2a
call fcn.1002b379
push dword [ebp - 0x18]
mov ecx, eax
call fcn.10005480
push ebx
push edi
lea ecx, [ebp - 0x3c]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp + 0x38]
call fcn.100048de
push ebx
push edi
lea ecx, [ebp + 0x1c]
call fcn.100048de
push dword [ebp - 0x1c]
call fcn.100312c8
pop ecx
mov byte [ebp - 0x1d], 1
jmp 0x1002b49e