Function at 0x419970
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push 0x402386
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
push ebx
push esi
push edi
mov dword [ebp - 0xc], esp
mov dword [ebp - 8], 0x4019d0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
xor ebx, ebx
cmp eax, 0x64
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
ja case.0x4199c9.4
xor ecx, ecx
mov cl, byte [eax + 0x419cfc]
jmp dword [ecx*4 + 0x419ce8]
cmp dword [0x43103c], ebx
jne 0x4199e8
push 0x43103c
push 0x4036e0
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edi, dword [0x43103c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x38]
call esi
mov edx, 0x408160
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [edi]
lea edx, [ebp - 0x3c]
push edx
push 0x431034
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x34]
push edx
push edi
call dword [ecx + 0x1c]
fnclex
cmp eax, ebx
jge 0x419b7b
jmp 0x419b6c
cmp dword [0x43103c], ebx
jne 0x419a53
push 0x43103c
push 0x4036e0
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edi, dword [0x43103c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x38]
call esi
mov edx, 0x40816c
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [edi]
lea edx, [ebp - 0x3c]
push edx
push 0x431034
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x34]
push edx
push edi
call dword [ecx + 0x1c]
fnclex
cmp eax, ebx
jge 0x419b7b
jmp 0x419b6c
cmp dword [0x43103c], ebx
jne 0x419abe
push 0x43103c
push 0x4036e0
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edi, dword [0x43103c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x38]
call esi
mov edx, 0x408178
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [edi]
lea edx, [ebp - 0x3c]
push edx
push 0x431034
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x34]
push edx
push edi
call dword [ecx + 0x1c]
fnclex
cmp eax, ebx
jge 0x419b7b
jmp 0x419b6c
cmp dword [0x43103c], ebx
jne 0x419b22
push 0x43103c
push 0x4036e0
call dword [sym.imp.MSVBVM60.DLL___vbaNew2]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov edi, dword [0x43103c]
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov edx, eax
lea ecx, [ebp - 0x38]
call esi
mov edx, 0x408188
lea ecx, [ebp - 0x34]
call dword [sym.imp.MSVBVM60.DLL___vbaStrCopy]
mov ecx, dword [edi]
lea edx, [ebp - 0x3c]
push edx
push 0x431034
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x34]
push edx
push edi
call dword [ecx + 0x1c]
fnclex
cmp eax, ebx
jge 0x419b7b
push 0x1c
push 0x4070a0
push edi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaHresultCheckObj]
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x3c], ebx
call esi
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x34]
push ecx
push 2
call ebx
add esp, 0xc
jmp 0x419ba9
mov esi, dword [sym.imp.MSVBVM60.DLL___vbaStrMove]
mov ebx, dword [sym.imp.MSVBVM60.DLL___vbaFreeStrList]
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
push eax
lea ecx, [ebp - 0x2c]
push ecx
lea edx, [ebp - 0x50]
push edx
lea eax, [ebp - 0x48]
push eax
push 0xc
mov edi, 1
call dword [sym.imp.MSVBVM60.DLL___vbaForEachAry]
test eax, eax
push 0
push 0xffffffffffffffff
push 1
je 0x419c4c
lea ecx, [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrErrVarCopy]
mov edx, eax
lea ecx, [ebp - 0x3c]
call esi
push eax
push 0x40819c
push edi
call dword [sym.imp.MSVBVM60.DLL___vbaStrI4]
mov edx, eax
lea ecx, [ebp - 0x34]
call esi
push eax
call dword [sym.imp.MSVBVM60.DLL___vbaStrCat]
mov edx, eax
lea ecx, [ebp - 0x38]
call esi
mov edx, dword [ebp - 0x30]
push eax
push edx
call dword [sym.imp.MSVBVM60.DLL_rtcReplace]
mov edx, eax
lea ecx, [ebp - 0x30]
call esi
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x34]
push edx
push 3
call ebx
add esp, 0x10
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x50]
push ecx
lea edx, [ebp - 0x48]
push edx
add edi, 1
push 0xc
jo 0x419d61
call dword [sym.imp.MSVBVM60.DLL___vbaNextEachAry]
jmp 0x419bc8
mov eax, dword [ebp - 0x30]
mov edi, dword [sym.imp.MSVBVM60.DLL_rtcReplace]
push 0x407504
push 0x4081a4
push eax
call edi
mov edx, eax
lea ecx, [ebp - 0x1c]
call esi
mov ecx, dword [ebp - 0x1c]
push 0
push 0xffffffffffffffff
push 1
push 0x4081bc
push 0x4081b0
push ecx
call edi
mov edx, eax
lea ecx, [ebp - 0x1c]
call esi
push 0x419cd1
jmp 0x419cb4
lea edx, [ebp - 0x48]
push edx
call dword [sym.imp.MSVBVM60.DLL___vbaAryUnlock]
lea ecx, [ebp - 0x2c]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeVar]
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
ret
call dword [sym.imp.MSVBVM60.DLL___vbaErrorOverflow]
nop
nop
nop
nop
nop
nop
nop
nop
nop