Function at 0x48d23c
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49f5d0
mov eax, dword fs:[0]
push eax
sub esp, 0x180
mov eax, dword [0x4d2a20]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xcc], ecx
and dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xcc]
call dword [eax + 4]
and dword [ebp - 0x10], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
call fcn.0048d00c
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
jne 0x48d2aa
jmp 0x48df5e
lea ecx, [ebp - 0x18]
call fcn.00441348
and dword [ebp - 4], 0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x18]
call fcn.004299d4
movzx eax, al
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jne 0x48d2de
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.004421f7
jmp 0x48df5e
and dword [ebp - 0x28], 0
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x28]
push dword [ebp + 8]
mov ecx, dword [ebp - 0xcc]
call fcn.0048cfd8
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x48d312
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x48d323
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.004421f7
jmp 0x48df5e
and dword [ebp - 0x2c], 0
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x4b50f8
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x48d373
cmp dword [ebp - 0x2c], 0
je 0x48d373
cmp dword [ebp - 0x24], 0x34
jne 0x48d373
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0xcc]
add eax, 4
push eax
call sub.MSVCR80.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
push 0x4b50fc
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x48d39d
cmp dword [ebp - 0x2c], 0
jne 0x48d3ae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.004421f7
jmp 0x48df5e
and dword [ebp - 0x30], 0
push 0
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xcc]
call fcn.0048cf39
test eax, eax
jne 0x48d438
push 1
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
push eax
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xcc]
call fcn.0048cf39
test eax, eax
jne 0x48d438
push 1
lea eax, [ebp - 0x30]
push eax
push 0
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xcc]
call fcn.0048cf39
test eax, eax
jne 0x48d438
push 1
lea eax, [ebp - 0x30]
push eax
push 9
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xcc]
call fcn.0048cf39
test eax, eax
jne 0x48d438
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x20]
call fcn.00401d20
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x30]
and eax, 0xffff0000
shr eax, 0x10
push eax
mov eax, dword [ebp - 0x30]
and eax, 0xffff
push eax
push str.StringFileInfo_04X_04X_
lea eax, [ebp - 0x20]
push eax
call fcn.004012b1
add esp, 0x10
push 0x4b5164
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x3c]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
or eax, 1
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0xd0]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d4d2
cmp dword [ebp - 0x24], 0
je 0x48d4d2
cmp dword [ebp - 0x2c], 0
je 0x48d4d2
mov dword [ebp - 0xd4], 1
jmp 0x48d4d9
and dword [ebp - 0xd4], 0
mov al, byte [ebp - 0xd4]
mov byte [ebp - 0x35], al
mov eax, dword [ebp - 0xc8]
and eax, 1
je 0x48d4fc
and dword [ebp - 0xc8], 0xfffffffe
lea ecx, [ebp - 0x3c]
call fcn.00406df8
movzx eax, byte [ebp - 0x35]
test eax, eax
je 0x48d545
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x40]
call fcn.004018ae
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 2
push dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x38
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.00406df8
push 0x4b517c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xc8]
or eax, 2
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0xe0]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d5ad
cmp dword [ebp - 0x24], 0
je 0x48d5ad
cmp dword [ebp - 0x2c], 0
je 0x48d5ad
mov dword [ebp - 0xe4], 1
jmp 0x48d5b4
and dword [ebp - 0xe4], 0
mov al, byte [ebp - 0xe4]
mov byte [ebp - 0x41], al
mov eax, dword [ebp - 0xc8]
and eax, 2
je 0x48d5d7
and dword [ebp - 0xc8], 0xfffffffd
lea ecx, [ebp - 0x48]
call fcn.00406df8
movzx eax, byte [ebp - 0x41]
test eax, eax
je 0x48d620
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x4c]
call fcn.004018ae
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0xec], eax
mov byte [ebp - 4], 3
push dword [ebp - 0xec]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x3c
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4c]
call fcn.00406df8
push 0x4b519c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xc8]
or eax, 4
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0xf0]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d688
cmp dword [ebp - 0x24], 0
je 0x48d688
cmp dword [ebp - 0x2c], 0
je 0x48d688
mov dword [ebp - 0xf4], 1
jmp 0x48d68f
and dword [ebp - 0xf4], 0
mov al, byte [ebp - 0xf4]
mov byte [ebp - 0x4d], al
mov eax, dword [ebp - 0xc8]
and eax, 4
je 0x48d6b2
and dword [ebp - 0xc8], 0xfffffffb
lea ecx, [ebp - 0x54]
call fcn.00406df8
movzx eax, byte [ebp - 0x4d]
test eax, eax
je 0x48d6fb
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x58]
call fcn.004018ae
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xfc], eax
mov byte [ebp - 4], 4
push dword [ebp - 0xfc]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x40
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x58]
call fcn.00406df8
push 0x4b51b4
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc8]
or eax, 8
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x100]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d763
cmp dword [ebp - 0x24], 0
je 0x48d763
cmp dword [ebp - 0x2c], 0
je 0x48d763
mov dword [ebp - 0x104], 1
jmp 0x48d76a
and dword [ebp - 0x104], 0
mov al, byte [ebp - 0x104]
mov byte [ebp - 0x59], al
mov eax, dword [ebp - 0xc8]
and eax, 8
je 0x48d78d
and dword [ebp - 0xc8], 0xfffffff7
lea ecx, [ebp - 0x60]
call fcn.00406df8
movzx eax, byte [ebp - 0x59]
test eax, eax
je 0x48d7d6
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x64]
call fcn.004018ae
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 5
push dword [ebp - 0x10c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x44
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.00406df8
push 0x4b51d0
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x10
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x110]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d83e
cmp dword [ebp - 0x24], 0
je 0x48d83e
cmp dword [ebp - 0x2c], 0
je 0x48d83e
mov dword [ebp - 0x114], 1
jmp 0x48d845
and dword [ebp - 0x114], 0
mov al, byte [ebp - 0x114]
mov byte [ebp - 0x65], al
mov eax, dword [ebp - 0xc8]
and eax, 0x10
je 0x48d868
and dword [ebp - 0xc8], 0xffffffef
lea ecx, [ebp - 0x6c]
call fcn.00406df8
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x48d8b1
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x70]
call fcn.004018ae
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 6
push dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x48
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.00406df8
push str.OriginalFileName
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x20
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x120]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d919
cmp dword [ebp - 0x24], 0
je 0x48d919
cmp dword [ebp - 0x2c], 0
je 0x48d919
mov dword [ebp - 0x124], 1
jmp 0x48d920
and dword [ebp - 0x124], 0
mov al, byte [ebp - 0x124]
mov byte [ebp - 0x71], al
mov eax, dword [ebp - 0xc8]
and eax, 0x20
je 0x48d943
and dword [ebp - 0xc8], 0xffffffdf
lea ecx, [ebp - 0x78]
call fcn.00406df8
movzx eax, byte [ebp - 0x71]
test eax, eax
je 0x48d98c
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x7c]
call fcn.004018ae
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 4], 7
push dword [ebp - 0x12c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x4c
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x7c]
call fcn.00406df8
push 0x4b5214
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x40
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x130]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48d9f7
cmp dword [ebp - 0x24], 0
je 0x48d9f7
cmp dword [ebp - 0x2c], 0
je 0x48d9f7
mov dword [ebp - 0x134], 1
jmp 0x48d9fe
and dword [ebp - 0x134], 0
mov al, byte [ebp - 0x134]
mov byte [ebp - 0x7d], al
mov eax, dword [ebp - 0xc8]
and eax, 0x40
je 0x48da24
and dword [ebp - 0xc8], 0xffffffbf
lea ecx, [ebp - 0x84]
call fcn.00406df8
movzx eax, byte [ebp - 0x7d]
test eax, eax
je 0x48da73
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x88]
call fcn.004018ae
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 8
push dword [ebp - 0x13c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x50
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x88]
call fcn.00406df8
push 0x4b522c
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x80
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x140]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48dae0
cmp dword [ebp - 0x24], 0
je 0x48dae0
cmp dword [ebp - 0x2c], 0
je 0x48dae0
mov dword [ebp - 0x144], 1
jmp 0x48dae7
and dword [ebp - 0x144], 0
mov al, byte [ebp - 0x144]
mov byte [ebp - 0x89], al
mov eax, dword [ebp - 0xc8]
and eax, 0x80
je 0x48db15
and dword [ebp - 0xc8], 0xffffff7f
lea ecx, [ebp - 0x90]
call fcn.00406df8
movzx eax, byte [ebp - 0x89]
test eax, eax
je 0x48db67
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x94]
call fcn.004018ae
mov dword [ebp - 0x148], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 4], 9
push dword [ebp - 0x14c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x54
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.00406df8
push str.Comments
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x100
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x150]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48dbd4
cmp dword [ebp - 0x24], 0
je 0x48dbd4
cmp dword [ebp - 0x2c], 0
je 0x48dbd4
mov dword [ebp - 0x154], 1
jmp 0x48dbdb
and dword [ebp - 0x154], 0
mov al, byte [ebp - 0x154]
mov byte [ebp - 0x95], al
mov eax, dword [ebp - 0xc8]
and eax, 0x100
je 0x48dc09
and dword [ebp - 0xc8], 0xfffffeff
lea ecx, [ebp - 0x9c]
call fcn.00406df8
movzx eax, byte [ebp - 0x95]
test eax, eax
je 0x48dc5b
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xa0]
call fcn.004018ae
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 0xa
push dword [ebp - 0x15c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x58
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xa0]
call fcn.00406df8
push str.LegalTrademarks
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x200
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x160]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48dcc8
cmp dword [ebp - 0x24], 0
je 0x48dcc8
cmp dword [ebp - 0x2c], 0
je 0x48dcc8
mov dword [ebp - 0x164], 1
jmp 0x48dccf
and dword [ebp - 0x164], 0
mov al, byte [ebp - 0x164]
mov byte [ebp - 0xa1], al
mov eax, dword [ebp - 0xc8]
and eax, 0x200
je 0x48dcfd
and dword [ebp - 0xc8], 0xfffffdff
lea ecx, [ebp - 0xa8]
call fcn.00406df8
movzx eax, byte [ebp - 0xa1]
test eax, eax
je 0x48dd4f
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xac]
call fcn.004018ae
mov dword [ebp - 0x168], eax
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 0xb
push dword [ebp - 0x16c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x5c
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xac]
call fcn.00406df8
push str.PrivateBuild
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xb4]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x170], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x400
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x170]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48ddbc
cmp dword [ebp - 0x24], 0
je 0x48ddbc
cmp dword [ebp - 0x2c], 0
je 0x48ddbc
mov dword [ebp - 0x174], 1
jmp 0x48ddc3
and dword [ebp - 0x174], 0
mov al, byte [ebp - 0x174]
mov byte [ebp - 0xad], al
mov eax, dword [ebp - 0xc8]
and eax, 0x400
je 0x48ddf1
and dword [ebp - 0xc8], 0xfffffbff
lea ecx, [ebp - 0xb4]
call fcn.00406df8
movzx eax, byte [ebp - 0xad]
test eax, eax
je 0x48de43
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xb8]
call fcn.004018ae
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x17c], eax
mov byte [ebp - 4], 0xc
push dword [ebp - 0x17c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x60
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xb8]
call fcn.00406df8
push str.SpecialBuild
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00402e88
add esp, 0xc
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0xc8]
or eax, 0x800
mov dword [ebp - 0xc8], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x180]
call fcn.00413706
push eax
lea ecx, [ebp - 0x18]
call fcn.00413706
push eax
call sub.VERSION.dll_VerQueryValueW
test eax, eax
je 0x48deb0
cmp dword [ebp - 0x24], 0
je 0x48deb0
cmp dword [ebp - 0x2c], 0
je 0x48deb0
mov dword [ebp - 0x184], 1
jmp 0x48deb7
and dword [ebp - 0x184], 0
mov al, byte [ebp - 0x184]
mov byte [ebp - 0xb9], al
mov eax, dword [ebp - 0xc8]
and eax, 0x800
je 0x48dee5
and dword [ebp - 0xc8], 0xfffff7ff
lea ecx, [ebp - 0xc0]
call fcn.00406df8
movzx eax, byte [ebp - 0xb9]
test eax, eax
je 0x48df37
push dword [ebp - 0x2c]
lea ecx, [ebp - 0xc4]
call fcn.004018ae
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x18c], eax
mov byte [ebp - 4], 0xd
push dword [ebp - 0x18c]
mov ecx, dword [ebp - 0xcc]
add ecx, 0x64
call fcn.00401000
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc4]
call fcn.00406df8
mov dword [ebp - 0x10], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call fcn.00406df8
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.004421f7
xor eax, eax
jne 0x48d286
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
leave
ret 4