Function at 0x405450
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5eded3
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x675f64]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
push 0x150
mov dword [ebp - 0x10], 0
call fcn.004551c5
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x40582e
xor eax, eax
mov dword [esi], 0
push eax
push 0x64210c
mov ecx, esi
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 7
mov word [esi], ax
call fcn.004059e0
mov byte [ebp - 4], 1
lea ecx, [esi + 0x18]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 1
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 2
lea ecx, [esi + 0x30]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 3
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 3
lea ecx, [esi + 0x48]
push 6
xor eax, eax
mov dword [ecx], 0
push str.WinZip
mov dword [ebp - 0x10], 7
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 4
lea ecx, [esi + 0x60]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 0xf
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 5
lea ecx, [esi + 0x78]
push 0xc
xor eax, eax
mov dword [ecx], 0
push 0x642120
mov dword [ebp - 0x10], 0x1f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 6
lea ecx, [esi + 0x90]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 0x3f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 7
lea ecx, [esi + 0xa8]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 0x7f
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 8
lea ecx, [esi + 0xc0]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 0xff
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 9
lea ecx, [esi + 0xd8]
xor eax, eax
mov dword [ecx], 0
push eax
push 0x64210c
mov dword [ebp - 0x10], 0x1ff
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 7
mov word [ecx], ax
call fcn.004059e0
mov dword [ebp - 4], 0xa
lea ecx, [esi + 0xf0]
mov dword [ebp - 0x10], 0x3ff
call fcn.004097f0
mov dword [ebp - 4], 0xb
lea ecx, [esi + 0x108]
mov dword [ebp - 0x10], 0x7ff
call fcn.00409540
mov dword [ebp - 4], 0xc
lea ecx, [esi + 0x120]
mov dword [ebp - 0x10], 0xfff
call fcn.004098b0
mov dword [ebp - 4], 0xd
lea edi, [esi + 0x138]
mov dword [ebp - 0x10], 0x1fff
mov dword [ebp - 0x14], edi
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ecx, ax
mov eax, ecx
cmp eax, 0x804
ja 0x405788
je 0x4057ce
sub eax, 0x404
cmp eax, 0x15
ja case.0x40573f.1030
movzx eax, byte [eax + 0x405878]
jmp dword [eax*4 + 0x405848]
mov eax, 1
jmp 0x4057d3
mov eax, 2
jmp 0x4057d3
mov eax, 3
jmp 0x4057d3
mov eax, 4
jmp 0x4057d3
mov eax, 5
jmp 0x4057d3
mov eax, 8
jmp 0x4057d3
mov eax, 9
jmp 0x4057d3
mov eax, 0xa
jmp 0x4057d3
mov eax, 0xb
jmp 0x4057d3
cmp eax, 0xc0a
ja 0x4057b2
je 0x4057ab
sub eax, 0x80a
je 0x4057ab
sub eax, 0xc
je case.0x40573f.1046
sub eax, 0x3ee
jmp 0x4057be
mov eax, 7
jmp 0x4057d3
mov eax, 6
jmp 0x4057d3
cmp eax, 0x1004
je 0x4057ce
cmp eax, 0x1404
je case.0x40573f.1028
call fcn.00409b10
jmp 0x4057d3
mov eax, 0xd
jmp 0x4057d3
mov eax, 0xc
mov edx, dword [eax*8 + 0x642160]
xor eax, eax
mov dword [edi], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
mov eax, edx
lea ecx, [eax + 2]
mov dword [ebp - 0x14], ecx
nop dword [eax + eax]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x405800
sub eax, dword [ebp - 0x14]
mov ecx, edi
sar eax, 1
push eax
push edx
call fcn.004059e0
mov dword [ebx + 0x2c], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x2c], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret