Function at 0x446ee4
Capabilities:
Check os version

Disassembly:
push 0x908
mov eax, 0x4acc2a
call fcn.00454652
mov edi, ecx
call fcn.00445933
test eax, eax
jne 0x446f05
xor eax, eax
jmp 0x4474f0
mov ecx, edi
call fcn.00447b14
mov dword [edi + 0xb0c], eax
lea eax, [ebp - 0x908]
push eax
mov eax, dword [edi + 0x260]
xor ebx, ebx
mov dword [ebp - 0x908], ebx
movzx eax, word [eax + 0x44]
push eax
call fcn.00450874
mov eax, dword [edi + 0x260]
push dword [ebp - 0x908]
movzx eax, word [eax + 0x44]
push eax
lea eax, [ebp - 0x904]
push str.Default_language:__d__got_code_page__d
push eax
mov dword [ebp - 0x904], str.session.cpp
mov dword [ebp - 0x900], 0x325
call fcn.00419650
mov eax, dword [edi + 0x260]
add esp, 0x18
movzx eax, word [eax + 0x44]
push 1
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jne 0x446fd7
mov ecx, dword [edi + 0x260]
movzx eax, word [ecx + 0x44]
push eax
lea eax, [ebp - 0x870]
push eax
call fcn.0042a536
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x858], 8
lea eax, [ebp - 0x86c]
cmovae eax, dword [ebp - 0x86c]
mov ecx, 0x4b8
push eax
push ecx
mov dword [0x4f3824], ecx
call fcn.00450759
pop ecx
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.00401b80
jmp 0x446efe
mov eax, dword [edi + 0x260]
cmp dword [eax + 0x50], 1
jbe 0x44747a
cmp dword [edi + 0xc], 5
je 0x44747a
push 0x400
lea eax, [ebp - 0x810]
push ebx
push eax
call fcn.004535d0
push 0xa
lea eax, [ebp - 0x810]
push eax
mov eax, dword [edi + 0x260]
movzx eax, word [eax + 0x44]
push eax
call fcn.004577d3
cmp dword [0x4f2fb0], 8
mov eax, 0x4f2f9c
cmovae eax, dword [0x4f2f9c]
push eax
lea eax, [ebp - 0x810]
push eax
call fcn.0045563d
add esp, 0x20
lea eax, [ebp - 0x8f9]
push 1
push eax
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x840]
call fcn.00402ca0
mov dword [ebp - 4], 2
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x44706c
mov eax, dword [eax]
push eax
mov ecx, edi
call fcn.00443d4d
mov esi, eax
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x840]
call fcn.00401ac0
test esi, esi
je 0x44727d
cmp byte [0x4ef428], 0
jne 0x44709f
cmp byte [0x4f4b20], 0
je 0x447112
push 1
lea eax, [ebp - 0x8f9]
push eax
push str.session.cpp
lea ecx, [ebp - 0x840]
call fcn.00402ca0
mov dword [ebp - 4], 4
push 1
lea eax, [ebp - 0x8f9]
push eax
push str.Language_transforms_in_stream
lea ecx, [ebp - 0x8a0]
call fcn.00402ca0
mov byte [ebp - 4], 5
push 0x339
lea eax, [ebp - 0x840]
push eax
lea eax, [ebp - 0x8a0]
push eax
call fcn.00402940
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8a0]
call fcn.00401ac0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x840]
call fcn.00401ac0
push 6
pop esi
lea eax, [ebp - 0x900]
push eax
lea ecx, [edi + 4]
mov dword [ebp - 0x900], esi
call fcn.004193b9
push 0x400
lea ecx, [ebp - 0x914]
push ecx
mov ecx, eax
call fcn.004160cc
mov dword [ebp - 4], 8
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00416071
lea ecx, [ebp - 0x810]
push ecx
push 0x4f3000
push dword [eax]
call fcn.00450174
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x914]
call fcn.00411bd3
mov ecx, edi
call fcn.00444223
test eax, eax
je 0x446efe
push esi
lea eax, [ebp - 0x870]
push eax
mov ecx, edi
call fcn.0041a07e
mov dword [ebp - 4], 9
push 1
lea eax, [ebp - 0x8f9]
push eax
push str.ScriptDriven
lea ecx, [ebp - 0x8a0]
call fcn.00402ca0
mov byte [ebp - 4], 0xa
push 1
lea eax, [ebp - 0x8f9]
push eax
push str.Startup
lea ecx, [ebp - 0x840]
call fcn.00402ca0
mov byte [ebp - 4], 0xb
push 0xa
push ebx
lea eax, [ebp - 0x8a0]
push eax
lea eax, [ebp - 0x840]
push eax
mov ecx, edi
call fcn.00445691
mov esi, eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x840]
call fcn.00401ac0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x8a0]
call fcn.00401ac0
cmp esi, 3
jne 0x44723f
push ebx
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x870]
call fcn.004298d3
mov byte [ebp - 4], 0xe
push eax
lea ecx, [ebp - 0x870]
call fcn.00411c81
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x840]
call fcn.00401b80
cmp dword [ebp - 0x858], 8
lea eax, [ebp - 0x86c]
cmovae eax, dword [ebp - 0x86c]
push 1
push eax
push str._LangTransform
mov ecx, edi
call fcn.00442e86
mov dword [edi + 0x34], 1
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.00401b80
jmp 0x44747a
cmp byte [edi + 0x25c], 0
je 0x44733e
push 1
lea eax, [ebp - 0x8f9]
push eax
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x840]
call fcn.004115ed
mov dword [ebp - 4], 0x11
push 1
lea eax, [ebp - 0x8f9]
push eax
lea eax, [edi + 0x4e]
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004115ed
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x840]
push ecx
lea ecx, [ebp - 0x870]
push ecx
mov ecx, eax
call fcn.004178c6
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x8a0]
call fcn.00401b80
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x840]
call fcn.00401b80
push ebx
lea eax, [ebp - 0x870]
push eax
push 6
mov ecx, edi
call fcn.0041c6d2
cmp dword [ebp - 0x858], 8
lea eax, [ebp - 0x86c]
cmovae eax, dword [ebp - 0x86c]
push 1
push eax
push str._LangTransform
mov ecx, edi
call fcn.00442e86
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
jmp 0x4473f0
mov ecx, edi
call fcn.0044634a
test al, al
je 0x4473b3
mov ecx, edi
call fcn.00446577
test al, al
je 0x4473b3
lea eax, [ebp - 0x900]
push eax
lea ecx, [edi + 4]
mov dword [ebp - 0x900], 6
call fcn.004193b9
push 0x400
lea ecx, [ebp - 0x914]
push ecx
mov ecx, eax
call fcn.004160cc
mov dword [ebp - 4], 0x19
mov ecx, dword [eax]
mov byte [eax + 4], 1
call fcn.00416071
push dword [eax]
lea eax, [ebp - 0x810]
push eax
mov ecx, edi
call fcn.00444ae2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x914]
call fcn.00411bd3
jmp 0x4473f5
push 1
lea eax, [ebp - 0x8f9]
push eax
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x840]
call fcn.004115ed
mov dword [ebp - 4], 0x1a
push ebx
lea eax, [ebp - 0x840]
push eax
push 6
mov ecx, edi
call fcn.0041c6d2
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x840]
call fcn.00401b80
cmp byte [0x4ef428], 0
jne 0x447407
cmp byte [0x4f4b20], 0
je 0x44747a
push 1
lea eax, [ebp - 0x8f9]
push eax
push str.session.cpp
lea ecx, [ebp - 0x8a0]
call fcn.00402ca0
mov dword [ebp - 4], 0x1c
push 1
lea eax, [ebp - 0x8f9]
push eax
push str.Using_language_transforms_from_setup.exe_location
lea ecx, [ebp - 0x840]
call fcn.00402ca0
mov byte [ebp - 4], 0x1d
push 0x365
lea eax, [ebp - 0x8a0]
push eax
lea eax, [ebp - 0x840]
push eax
call fcn.00402940
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x840]
call fcn.00401ac0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8a0]
call fcn.00401ac0
mov ecx, edi
call fcn.00445fdd
test eax, eax
je 0x446efe
push 0x44f
mov ecx, edi
call fcn.004478d0
mov ecx, edi
call fcn.00447ca9
test eax, eax
je 0x446efe
push edi
push 0x451
lea ecx, [ebp - 0x8f8]
call fcn.0042be42
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x8f8]
call fcn.0042ee30
test eax, eax
je 0x4474df
mov eax, dword [ebp - 0x8ec]
mov dword [edi + 0xb14], eax
call fcn.00429b92
xor ebx, ebx
inc ebx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x8f8]
call fcn.0042c0cf
mov eax, ebx
call fcn.00454601
ret