Function at 0x433f39
Capabilities:
Check os version

Disassembly:
mov eax, 0x49c5d5
call fcn.0047d43c
sub esp, 0x500
push ebx
push esi
push edi
mov esi, ecx
call fcn.00432cfb
test eax, eax
je 0x434483
mov ecx, esi
call fcn.00433b95
and dword [ebp - 0x20], 0
mov dword [esi + 0x608], eax
lea eax, [ebp - 0x20]
push eax
mov eax, dword [esi + 0x16c]
movzx eax, word [eax + 0x48]
push eax
call fcn.00449a4c
pop ecx
lea eax, [ebp - 0xd]
pop ecx
push 1
lea ecx, [ebp - 0x4c]
pop ebx
push ebx
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetup_session.cpp
call fcn.00401884
mov eax, dword [eax + 8]
and dword [ebp - 4], 0
test eax, eax
jne 0x433fa7
mov eax, 0x4a368c
push dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x16c]
mov dword [ebp - 0x18], 0x2e8
movzx eax, word [eax + 0x48]
push eax
lea eax, [ebp - 0x1c]
push str.Default_language:__d__got_code_page__d
push eax
call fcn.0040a47f
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp - 0x4c]
call fcn.00401093
mov eax, dword [esi + 0x16c]
push ebx
movzx eax, word [eax + 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidLocale]
test eax, eax
jne 0x43403b
mov esi, dword [esi + 0x16c]
mov ecx, esi
mov ax, word [esi + 0x48]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0041d8f4
mov ecx, dword [ebp - 0x6c]
mov eax, 0x4b8
test ecx, ecx
mov dword [ebp - 4], ebx
mov dword [0x4c8ee0], eax
jne 0x434021
mov ecx, 0x4a36e0
push ecx
push eax
call fcn.004489b4
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
lea ecx, [ebp - 0x74]
call fcn.00402438
jmp 0x434483
mov eax, dword [esi + 0x16c]
mov eax, dword [eax + 0x5c]
cmp eax, ebx
jbe 0x4343e2
mov eax, dword [esi + 4]
lea edi, [esi + 4]
mov ecx, edi
call dword [eax]
cmp eax, 5
je 0x4343e2
push 0x400
lea eax, [ebp - 0x50c]
push 0
push eax
call fcn.0047daf0
lea eax, [ebp - 0x50c]
push 0xa
push eax
mov eax, dword [esi + 0x16c]
movzx eax, word [eax + 0x48]
push eax
call fcn.0047f82a
add esp, 0x18
mov ecx, 0x4c81e0
call fcn.00401a14
push eax
lea eax, [ebp - 0x50c]
push eax
call fcn.0047dc20
pop ecx
lea eax, [ebp - 0xd]
pop ecx
push ebx
push eax
lea eax, [ebp - 0x50c]
lea ecx, [ebp - 0x4c]
push eax
call fcn.00401884
mov ebx, dword [edi]
mov ecx, eax
mov dword [ebp - 4], 2
call fcn.00401a14
push eax
mov ecx, edi
call dword [ebx + 0x58]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
mov ebx, eax
call fcn.00401093
test ebx, ebx
je 0x434219
cmp byte [0x4c6914], 0
jne 0x4340f9
cmp byte [0x4c9568], 0
je 0x434172
push 1
lea eax, [ebp - 0xd]
pop ebx
lea ecx, [ebp - 0x4c]
push ebx
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetup_session.cpp
call fcn.00401884
mov eax, str.Language_transforms_in_stream
mov dword [ebp - 4], 3
mov ecx, eax
mov dword [ebp - 0x74], 0x4a3670
test ecx, ecx
mov dword [ebp - 0x54], 0x4a3668
jne 0x434133
mov eax, 0x4c6e10
lea ecx, [ebp - 0xe]
push 0
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.004011a9
lea eax, [ebp - 0x4c]
push 0x2fc
push eax
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 4], 4
call fcn.0048dff0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 3
call fcn.00401093
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00401093
jmp 0x434175
push 1
pop ebx
lea eax, [ebp - 0x80]
push 0x400
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [esi + 0xc]
mov dword [ebp - 0x24], 6
call fcn.0041c534
mov ecx, eax
call fcn.00402f01
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
mov dword [ebp - 4], 5
call fcn.004042dd
mov ecx, dword [ebp - 0x18]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x50c]
push ecx
push 0x4c8ae0
push eax
call fcn.00449198
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.00403013
mov ecx, esi
call fcn.00434b9d
test eax, eax
je 0x434483
mov eax, dword [edi]
lea ecx, [ebp - 0x4c]
push 6
push ecx
mov ecx, edi
call dword [eax + 0x1c]
push ebx
mov ecx, eax
mov dword [ebp - 4], 6
call fcn.004042dd
push eax
push str._LangTransform
mov ecx, esi
call fcn.00435143
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00402438
mov dword [esi + 0x44], ebx
jmp 0x4343e2
cmp byte [esi + 0x168], 0
je 0x4342b7
push 1
lea eax, [ebp - 0xe]
pop ebx
lea ecx, [ebp - 0x4c]
push ebx
push eax
lea eax, [ebp - 0x50c]
push eax
call fcn.00402e7f
lea eax, [ebp - 0xd]
push ebx
push eax
lea eax, [esi + 0x5d]
push eax
lea ecx, [ebp - 0x10c]
mov dword [ebp - 4], 7
call fcn.00402e7f
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 8
push ecx
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.0040f42b
lea ecx, [ebp - 0x10c]
mov byte [ebp - 4], 0xb
call fcn.00402438
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0xa
call fcn.00402438
mov eax, dword [edi]
lea ecx, [ebp - 0x74]
push 0
push ecx
push 6
mov ecx, edi
call dword [eax + 0x18]
push ebx
lea ecx, [ebp - 0x74]
call fcn.004042dd
push eax
push str._LangTransform
mov ecx, esi
call fcn.00435143
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
jmp 0x434357
mov ecx, esi
call fcn.00434606
test al, al
je 0x434323
mov ecx, esi
call fcn.00434599
test al, al
je 0x434323
lea eax, [ebp - 0x80]
push 0x400
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0xc]
mov dword [ebp - 0x18], 6
call fcn.0041c534
mov ecx, eax
call fcn.00402f01
mov edi, eax
mov ecx, dword [edi]
mov dword [ebp - 4], 0xc
call fcn.004042dd
mov dword [edi + 8], eax
push eax
lea eax, [ebp - 0x50c]
mov ecx, esi
push eax
call fcn.004344e3
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.00403013
push 1
pop ebx
jmp 0x43435c
push 1
lea eax, [ebp - 0xe]
pop ebx
lea ecx, [ebp - 0x4c]
push ebx
push eax
lea eax, [ebp - 0x50c]
push eax
call fcn.00402e7f
mov eax, dword [edi]
lea ecx, [ebp - 0x4c]
push 0
push ecx
push 6
mov ecx, edi
mov dword [ebp - 4], 0xd
call dword [eax + 0x18]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00402438
cmp byte [0x4c6914], 0
jne 0x43436e
cmp byte [0x4c9568], 0
je 0x4343e2
lea eax, [ebp - 0xe]
push ebx
push eax
push str.C:CodeBasesisdev_srcRuntimeMSISharedSetup_session.cpp
lea ecx, [ebp - 0x4c]
call fcn.00401884
mov eax, str.Using_language_transforms_from_setup.exe_location
mov dword [ebp - 4], 0xe
mov ecx, eax
mov dword [ebp - 0x74], 0x4a3670
test ecx, ecx
mov dword [ebp - 0x54], 0x4a3668
jne 0x4343a5
mov eax, 0x4c6e10
lea ecx, [ebp - 0xd]
push 0
push ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.004011a9
lea eax, [ebp - 0x4c]
push 0x323
push eax
lea eax, [ebp - 0x74]
push eax
mov byte [ebp - 4], 0xf
call fcn.0048dff0
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xe
call fcn.00401093
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00401093
xor edi, edi
lea eax, [ebp - 0xf]
push edi
push eax
push 0x4c6e10
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0x4a3670
mov dword [ebp - 0x88], 0x4a3668
call fcn.004011a9
mov dword [ebp - 4], 0x10
mov dword [ebp - 0x14], edi
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0xa8]
push ebx
push eax
push ebx
mov byte [ebp - 4], 0x11
call fcn.0043a9af
test eax, eax
setne byte [ebp - 0xd]
cmp dword [ebp - 0x14], edi
je 0x434443
push dword [ebp - 0x14]
call fcn.0044c617
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa8]
call fcn.00401093
cmp byte [ebp - 0xd], 0
je 0x43445f
call fcn.0041cd7c
jmp 0x434483
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
call dword [eax + 0x34]
test eax, eax
je 0x434483
push 0x44f
mov ecx, esi
call fcn.0043462f
mov ecx, esi
call fcn.00435011
test eax, eax
jne 0x434487
xor eax, eax
jmp 0x4344d4
push esi
push 0x451
lea ecx, [ebp - 0xe4]
call fcn.0041dcca
lea ecx, [ebp - 0xe4]
mov dword [ebp - 4], 0x12
call fcn.00420ef4
test eax, eax
jne 0x4344b2
xor ebx, ebx
jmp 0x4344c3
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0x610], eax
call fcn.0041cd7c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe4]
call fcn.0041dd1f
mov eax, ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret