Function at 0x3430433c
Capabilities:
Identify system language via api

Disassembly:
sub esp, 0x10
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
push ebx
mov ebx, dword [esp + 0x24]
push ebp
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebp]
push esi
xor esi, esi
and eax, 0x7fff
push edi
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], esi
mov byte [esp + 0x13], 0
cmp eax, 8
jne 0x3430438a
cmp ebx, 0xf
jne 0x3430438a
push ebp
call fcn.343042b1
cmp eax, esi
jge 0x343043ea
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret 0x14
cmp eax, 1
je 0x343043d6
push ebx
call fcn.3424f8a0
movzx edx, al
mov eax, dword [ebp]
and eax, 0x7fff
cmp eax, edx
je 0x343043d6
mov ecx, dword [0x343e4890]
mov edi, dword [ecx]
push ebx
call fcn.3424f8a0
movzx edx, al
push edx
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
mov ecx, dword [0x343e4890]
mov edx, dword [edi + 0x74]
movzx eax, ax
push eax
push ebp
push ebp
push ecx
call edx
test eax, eax
jl 0x343045b0
cmp ebx, 2
jne 0x343043ea
mov eax, 0xff
cmp word [ebp + 0xc], ax
ja 0x343045b0
mov eax, dword [ebp]
and eax, 0x7fff
cmp eax, 1
je 0x3430441a
cmp ebx, 0xb
je 0x34304410
cmp ebx, 0xc
je 0x34304410
cmp ebx, 9
je 0x34304410
cmp ebx, 0x11
je 0x34304410
cmp ebx, 0xa
jne 0x34304415
mov byte [esp + 0x13], 1
cmp eax, 1
jne 0x34304420
mov dword [esp + 0x30], esi
jmp 0x3430442b
push ebx
push ebp
call fcn.34304233
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x14]
push ecx
push edx
push 4
call fcn.342736eb
test eax, eax
je 0x343045b0
movzx ecx, byte [esp + 0x13]
mov edx, dword [esp + 0x14]
neg ecx
lea eax, [esp + 0x14]
sbb ecx, ecx
push eax
and ecx, 4
push ecx
push edx
call fcn.342736eb
test eax, eax
je 0x343045b0
mov esi, dword [esp + 0x2c]
mov eax, dword [esi]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, eax
sub edx, dword [edi]
cmp ecx, edx
jbe 0x343044e9
lea edx, [esp + 0x34]
push edx
push ecx
push eax
mov dword [esp + 0x40], 0
call fcn.342736eb
test eax, eax
je 0x343045b0
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x34]
push eax
push 0x400
push ecx
call fcn.342736eb
test eax, eax
je 0x343045b0
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax]
push edx
push ecx
call sub.MSO.dll_Ordinal_2929
cmp dword [esp + 0x1c], 0
mov edx, dword [esp + 0x24]
mov dword [edx], eax
jne 0x343044e3
pop edi
pop esi
pop ebp
mov eax, 0xfffffc0d
pop ebx
add esp, 0x10
ret 0x14
mov eax, dword [esp + 0x34]
mov dword [esi], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp]
mov esi, dword [ecx]
add esi, dword [edi]
and edx, 0x7fff
cmp edx, 1
jne 0x34304514
mov dword [esi], 0
add dword [edi], 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x14
mov dword [esi], ebx
add dword [edi], 4
mov eax, dword [edi]
add esi, 4
cmp byte [esp + 0x13], 0
je 0x34304539
mov eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.OLEAUT32.dll_SysAllocStringByteLen]
mov dword [esi], eax
add esi, 4
add dword [edi], 4
mov eax, dword [edi]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
sub edx, eax
mov dword [esp + 0x18], edx
cmp ebx, 0xb
je 0x34304599
cmp ebx, 0xc
je 0x34304599
cmp ebx, 0x11
je 0x34304599
cmp ebx, 1
jne 0x34304576
mov ax, word [ebp + 0xc]
neg ax
sbb al, al
mov byte [esi], al
mov eax, dword [esp + 0x30]
add dword [edi], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x14
push 0
lea ecx, [esp + 0x1c]
push ecx
push esi
push ebx
push ebp
push 0
call fcn.3427a1c2
mov eax, dword [esp + 0x30]
add dword [edi], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x14
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x30]
mov dword [esi], edx
add dword [edi], eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 0x14
pop edi
pop esi
pop ebp
mov eax, 0xfffffc15
pop ebx
add esp, 0x10
ret 0x14