Function at 0x406850
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x419113
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push esi
push edi
mov eax, dword [0x4241dc]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [edi + 0x148]
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0
call fcn.00401000
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x10], esp
push 0
push 0xa
push dword [ebp + 0xc]
mov byte [ebp - 4], 1
call fcn.00401020
sub esp, 8
mov ecx, esp
push 0x41af48
mov byte [ebp - 4], 2
call fcn.00401070
lea ecx, [ebp - 0x24]
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 1
call fcn.00401450
sub esp, 8
mov eax, esp
mov dword [ebp + 0xc], esp
push eax
mov ecx, edi
call fcn.00405e80
push str.previousVersion
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 3
call fcn.00401070
mov byte [ebp - 4], 4
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.00401450
sub esp, 8
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [ebp - 0x24]
call fcn.00401450
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.004010d0
lea eax, [ebp - 0x34]
push eax
mov ecx, edi
call fcn.00405a80
sub esp, 8
mov ecx, esp
mov dword [ebp + 0xc], esp
push ecx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00401d60
push str.pProc
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.00401070
mov byte [ebp - 4], 8
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00401450
sub esp, 8
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [ebp - 0x24]
call fcn.00401450
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.004010d0
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.004010d0
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx eax, ax
push eax
call fcn.00405360
push ecx
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.00401070
push str.lang
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xa
call fcn.00401070
mov byte [ebp - 4], 0xb
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00401450
sub esp, 8
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [ebp - 0x24]
call fcn.00401450
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.004010d0
call fcn.0040bd60
sub esp, 8
mov ecx, esp
mov dword [ebp + 0xc], esp
test eax, eax
je 0x406a16
push 0x41afcc
call fcn.00401070
push str.cpuWordLength
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0xd
call fcn.00401070
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
jmp 0x406a39
push 0x41afd4
call fcn.00401070
push str.cpuWordLength
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x10
call fcn.00401070
mov byte [ebp - 4], 0x11
mov byte [ebp - 4], 0x12
mov ecx, eax
call fcn.00401450
sub esp, 8
mov ecx, esp
push eax
call fcn.00401000
lea ecx, [ebp - 0x24]
call fcn.00401450
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 1
call fcn.004010d0
sub esp, 8
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
call fcn.00401000
push str.http:__fpdownload2.macromedia.com_get_flashplayer_update_current_install_version.xml
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x13
call fcn.00401070
mov byte [ebp - 4], 0x14
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.00401450
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401000
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x17
call fcn.004010d0
mov eax, dword [ebp + 8]
sub esp, 8
mov ecx, esp
cmp eax, 0xffefa
jne 0x406abb
push str.playerTypefull
jmp 0x406af4
cmp eax, 8
jne 0x406ac7
push str.playerTypeax
jmp 0x406af4
cmp eax, 0x80000
jne 0x406ad5
push str.playerTypeax
jmp 0x406af4
cmp eax, 0x10
jne 0x406ae1
push str.playerTypepl
jmp 0x406af4
cmp eax, 0x8000
jne 0x406aef
push str.playerTypepep
jmp 0x406af4
push str.playerTypeunk
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
sub esp, 8
mov ecx, esp
push str.oswin
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
push 0
push 0xa
call fcn.004062c0
push eax
lea ecx, [ebp - 0x2c]
call fcn.00401020
sub esp, 8
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp + 0xc], esp
push eax
mov byte [ebp - 4], 0x18
call fcn.00401000
sub esp, 8
mov ecx, esp
push str.osVer
mov byte [ebp - 4], 0x19
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
mov ecx, eax
mov byte [ebp - 4], 0x18
call fcn.00401450
sub esp, 8
mov ecx, esp
push str.isDebug0
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x406c28
sub esp, 8
mov ecx, esp
push str.err
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
sub esp, 8
mov ecx, esp
push 0
push 0xa
push esi
call fcn.00401050
lea ecx, [ebp - 0x1c]
call fcn.00401450
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x406bea
sub esp, 8
mov ecx, esp
push str.werr
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
sub esp, 8
mov ecx, esp
push 0
push 0xa
push esi
call fcn.00401020
lea ecx, [ebp - 0x1c]
call fcn.00401450
lea ecx, [ebp + 0x18]
call fcn.00402170
test eax, eax
jle 0x406c28
sub esp, 8
mov ecx, esp
push str.comp
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
lea ecx, [ebp + 0x18]
call fcn.00402110
sub esp, 8
mov ecx, esp
push eax
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
lea esi, [edi + 0x158]
mov ecx, esi
call fcn.00402170
test eax, eax
jle 0x406c63
sub esp, 8
mov ecx, esp
push str.app
call fcn.00401070
lea ecx, [ebp - 0x1c]
call fcn.00401450
sub esp, 8
mov ecx, esp
push esi
call fcn.00401000
lea ecx, [ebp - 0x1c]
call fcn.00401450
push 0x28
call fcn.0040e75c
mov edi, eax
add esp, 4
mov dword [ebp + 0xc], edi
mov byte [ebp - 4], 0x1a
test edi, edi
je 0x406cc2
mov ecx, edi
call fcn.0040ba20
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
jmp 0x406cc4
xor edi, edi
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.004064e0
test al, al
jne 0x406ce7
test edi, edi
je 0x406ce7
mov ecx, edi
call fcn.0040ba30
push edi
call fcn.0040e7d0
add esp, 4
mov eax, dword [edi + 4]
push 0
push 0
push 0
push 0
push str.Adobe_Flash_Player
call eax
push 0
push 0x4000100
push 0
push 0x41a284
lea ecx, [ebp - 0x1c]
mov esi, eax
call fcn.00402110
mov ecx, dword [edi + 0x24]
push eax
push esi
call ecx
push eax
mov eax, dword [edi + 0x1c]
call eax
mov eax, dword [edi + 0x1c]
push esi
call eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x17
call fcn.004010d0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
call fcn.004010d0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0
call fcn.004010d0
lea ecx, [ebp + 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.004010d0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x18